Перейти к содержимому

HTTP-коды ответа: что означают 200, 301, 404, 500 и другие

Когда браузер открывает страницу, сервер отвечает не только HTML-кодом. Вместе с ответом он отправляет числовой HTTP-статус: 200, 301, 404, 500 и так далее. Эти три цифры часто позволяют понять проблему быстрее, чем длинное сообщение…

Когда браузер открывает страницу, сервер отвечает не только HTML-кодом. Вместе с ответом он отправляет числовой HTTP-статус: 200, 301, 404, 500 и так далее.

Эти три цифры часто позволяют понять проблему быстрее, чем длинное сообщение браузера.

Что означает HTTP status code

Это короткий результат обработки HTTP-запроса.

HTTP/2 200

означает, что запрос успешно обработан.

Пять основных классов

1xx — информационные
2xx — успех
3xx — перенаправления
4xx — проблема с запросом или доступом
5xx — проблема на стороне сервера или шлюза

200 OK

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

201 Created

Часто встречается в API после успешного создания объекта.

204 No Content

Запрос выполнен, но возвращать тело ответа не требуется.

301 Moved Permanently

Постоянное перенаправление.

Например:

http://example.com
→
https://example.com

302 Found

Временное или ситуативное перенаправление в распространённом веб-сценарии.

304 Not Modified

Используется при кешировании. Сервер сообщает клиенту, что ресурс не изменился и можно использовать локальную копию.

400 Bad Request

Сервер считает запрос некорректным.

401 Unauthorized

Обычно означает, что требуется корректная аутентификация.

403 Forbidden

Сервер понял запрос, но отказывается предоставлять доступ.

404 Not Found

Ресурс не найден.

Важно: работающий сайт вполне может вернуть 404 только для одной конкретной страницы.

405 Method Not Allowed

Например, endpoint принимает GET, но получил неподдерживаемый POST.

408 Request Timeout

Запрос не был завершён в ожидаемое сервером время.

409 Conflict

Часто встречается в API, когда операция конфликтует с текущим состоянием ресурса.

410 Gone

Ресурс удалён и намеренно больше не доступен.

429 Too Many Requests

Клиент отправляет слишком много запросов и попал под rate limit.

500 Internal Server Error

В приложении произошла внутренняя ошибка.

502 Bad Gateway

Промежуточный сервер получил неправильный ответ от backend.

503 Service Unavailable

Сервис временно недоступен — например из-за обслуживания или перегрузки.

504 Gateway Timeout

Шлюз слишком долго ждал ответа от следующего сервера.

Почему текст страницы может обманывать

Сайт способен показать красивую страницу «Всё хорошо», но вернуть HTTP 500.

И наоборот, страница с текстом об ошибке может технически возвращать 200.

Поэтому проверять нужно именно статус.

Как посмотреть код через curl

curl -I https://example.com/

Только код

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

Почему браузер не всегда показывает код

Браузер старается показать человеку понятную страницу. Для диагностики удобнее DevTools, curl или специализированная проверка.

HTTP-код и доступность сайта

Ответ 200 означает, что HTTP-запрос успешен, но не гарантирует, что приложение работает правильно по смыслу.

Например, главная страница может вернуть 200, а авторизация или API — 500.

Как NexIP помогает

Проверка сайта может показать конечный HTTP-код, цепочку перенаправлений и заголовки. Это позволяет понять, на каком уровне произошла проблема.

FAQ

404 означает, что сайт полностью не работает?

Нет. Часто отсутствует только конкретный URL.

500 — проблема у меня?

Обычно это серверная ошибка, хотя некорректный запрос иногда способен её спровоцировать.

Какой код должен возвращать нормальный сайт?

Для успешно открываемой конечной страницы чаще всего ожидается 200.

По теме: 301 и 302 redirect: в чём разница.

По теме: curl -I: как быстро проверить сайт из терминала.

Диагностика NexIP

Продолжите реальной проверкой

Откройте полный раздел диагностики и проверьте сайт, домен или сетевые параметры.

Открыть диагностику

Читайте дальше

Материалы по теме

HTTP и сайты

Как открывается сайт: DNS → TCP → TLS → HTTP

Когда человек вводит адрес сайта и нажимает Enter, кажется, будто браузер просто «подключился к сайту». На самом деле за доли секунды происходит целая цепочка: DNS, соединение с сервером, TLS и только потом HTTP. Если понимать эту…

Читать
Вернуться в базу знаний