Вебсправочник
Основы веб-разработки

Статусы HTTP: 200, 301, 304, 404 и 500

Как читать результат запроса и не принимать красивую страницу ошибки за успешный ответ.

Зачем это нужно

Статус HTTP описывает результат обработки запроса на уровне протокола. Внешний вид страницы не определяет статус: сервер может показать текст ошибки с кодом 200 или вернуть технический ответ без привычного оформления.

Различайте группы ответов

2xx обычно обозначают успех, 3xx — перенаправление или работу с кешем, 4xx — проблемы запроса или доступа, 5xx — ошибки сервера. Для отладки важен конкретный код, а не только первая цифра.

Проверяйте переходы

301 и 308 используют для постоянных перенаправлений с различиями в сохранении метода. Длинная цепочка замедляет открытие и усложняет диагностику. Целевой адрес должен завершать цепочку корректным ответом.

Сохраняйте настоящую ошибку

Несуществующий материал должен возвращать 404, даже если страница ошибки красиво оформлена. Не направляйте любой неизвестный адрес на главную с успешным статусом.

Важное ограничение

200 не гарантирует правильное содержимое. CSS-файл может получить HTML от страницы ошибки, а API — страницу входа. Проверяйте также Content-Type и тело ответа.

Контрольная проверка

  • Главные ресурсы возвращают ожидаемые коды.
  • Несуществующий URL даёт 404.
  • Нет циклов перенаправлений.
  • Ответ API имеет нужный формат.

Продолжить изучение: проверка response.ok, аудит публикации.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.