Что означает HTTP-статус 404?

Ответ

HTTP 404 Not Found — это код состояния ответа клиентской ошибки (4xx), означающий, что сервер не может найти запрошенный ресурс по указанному URL.

Детали:

  • Категория: Клиентская ошибка (4xx). Проблема в запросе.
  • Причины: Неверно набранный URL, удаленная страница, битая ссылка, ошибка в конфигурации сервера (например, неправильные правила rewrite).
  • Поведение браузера: Обычно отображает собственную страницу ошибки "404 Not Found".

Практическое значение для тестирования:

  • Проверка обработки несуществующих эндпоинтов.
  • Валидация, что система не возвращает 200 OK или 500 Internal Server Error для отсутствующих ресурсов.
  • Проверка пользовательских страниц 404 (кастомного дизайна).

Пример автоматизированной проверки на Python (pytest + requests):

import requests
import pytest

def test_nonexistent_page_returns_404():
    """Запрос к несуществующей странице должен возвращать статус 404."""
    url = "https://api.example.com/v1/nonexistent-resource"
    response = requests.get(url)

    assert response.status_code == 404, 
        f"Ожидался статус 404, но получен {response.status_code}. URL: {url}"
    # Можно также проверить, что в ответе есть ожидаемый текст ошибки
    assert "Not Found" in response.text or "404" in response.text

Важно: Для SEO и UX рекомендуется настраивать понятную кастомную страницу 404 с навигацией по сайту.