Ответ
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 с навигацией по сайту.
Ответ 18+ 🔞
Вот, смотри, это как в жизни: ты пришёл в гости, а там тебе говорят — «а такого Васи тут не живёт, пошёл нахуй». Это и есть HTTP 404 Not Found, классика жанра, блядь.
Если по-простому, то сервер такой: «Чувак, я тут всё перерыл, нихуя не нашёл по твоему адресу. Иди своей дорогой, звезда».
Что это вообще такое, ёпта?
- Категория: Клиентская косякнул (4xx). То есть это ты, а не сервер, накосячил с запросом.
- Почему вылезает: Опечатался в адресной строке, ссылка сдохла, страницу удалили, или админ сервера такой хитрожопый, что накосячил с настройками.
- Что видишь: Браузер показывает свою рожу с надписью «404», а если повезёт — сайт может подсунуть свою, более красивую страничку с извинениями.
А зачем это тестировщику, спросишь?
- Чтобы проверить, что система не начинает истерить (500 ошибка) или, что хуже, не врёт (200 ОК), когда её спрашивают про то, чего нет.
- Чтобы убедиться, что вместо стандартной унылой страницы от браузера показывается адекватная, человеческая «Ой, мы не нашли».
- В общем, чтобы пользователь не чувствовал себя брошенным в пизду, если куда-то не туда тыкнул.
Вот как это можно автоматически проверить, на коленке:
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
И главное, запомни: для людей и для поисковиков сделай нормальную страницу 404, а не просто выплюнь стандартную. Пусть там будет навигация или поиск, чтобы человек не ушёл в полной жопе и недоумении.