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

Справочник HTTP-кодов состояния

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

1xx 1xx — Информационные

2xx 2xx — Успех

3xx 3xx — Перенаправление

4xx 4xx — Ошибки клиента

400
400 Bad Request
Сервер не может обработать запрос из-за ошибки в синтаксисе.
401
401 Unauthorized
Требуется аутентификация, которая не была предоставлена или не прошла.
402
402 Payment Required
402 Payment Required — код зарезервирован для будущего использования, но сейчас применяется некоторыми API для сообщения "требуется оплата".
403
403 Forbidden
Сервер понял запрос, но отказывается его авторизовать.
404
404 Not Found
HTTP 404 Not Found — код ответа, которым сервер сообщает: он работает, но по запрошенному адресу ничего нет, и временно это или навсегда, код не говорит. Адреса, которые стабильно отдают 404, поисковики убирают из индекса.
405
405 Method Not Allowed
Используемый HTTP-метод не разрешён для этого ресурса.
406
406 Not Acceptable
Сервер не может сформировать ответ, соответствующий заголовкам Accept клиента.
407
407 Proxy Authentication Required
Перед выполнением запроса требуется аутентификация через прокси-сервер.
408
408 Request Timeout
408 Request Timeout — сервер устал ждать полный запрос от клиента и разорвал соединение. Медленная или нестабильная сеть клиента.
409
409 Conflict
409 Conflict — запрос конфликтует с текущим состоянием ресурса. Типичные причины: дубликат email, устаревшая версия при PUT, racing writes.
410
410 Gone
HTTP 410 Gone — код ответа для адреса, который удален намеренно и без нового адреса для редиректа. В отличие от 404 он прямо говорит, что ресурс не вернется.
411
411 Length Required
Сервер отклоняет запрос из-за отсутствия заголовка Content-Length.
412
412 Precondition Failed
Одно или несколько условий в заголовках запроса оказались ложными на сервере.
413
413 Payload Too Large
413 Payload Too Large — размер body запроса превышает лимит, настроенный на сервере. Сервер не может даже прочитать запрос.
414
414 URI Too Long
URI запроса клиента длиннее, чем готов принять сервер.
415
415 Unsupported Media Type
Сервер отказывается принять запрос, так как формат тела не поддерживается.
416
416 Range Not Satisfiable
Сервер не может обслужить запрошенный диапазон байт для ресурса.
417
417 Expectation Failed
Сервер не может выполнить требования заголовка Expect запроса.
418
418 I'm a Teapot
Сервер отказывается варить кофе, потому что он, навсегда, является чайником.
421
421 Misdirected Request
Запрос был направлен на сервер, который не может сформировать ответ для данной комбинации схемы и домена.
422
422 Unprocessable Entity
Сервер понимает тип контента, но не может обработать инструкции из-за семантических ошибок.
423
423 Locked
Ресурс, к которому осуществляется доступ, заблокирован (WebDAV).
424
424 Failed Dependency
Запрос завершился неудачно из-за зависимости от другого запроса, который не выполнился (WebDAV).
426
426 Upgrade Required
Клиент должен переключиться на другой протокол, указанный в заголовке Upgrade.
428
428 Precondition Required
Сервер требует, чтобы запрос был условным, для предотвращения проблемы потерянного обновления.
429
429 Too Many Requests
Пользователь отправил слишком много запросов за определённое время.
431
431 Request Header Fields Too Large
Сервер отказывается обрабатывать запрос, так как его поля заголовков слишком велики.
451
451 Unavailable For Legal Reasons
451 Unavailable For Legal Reasons — ресурс заблокирован по юридическим причинам. Название код получил в честь Fahrenheit 451.

5xx 5xx — Ошибки сервера

500
500 Internal Server Error
HTTP 500 Internal Server Error — общий код ответа, которым сервер сообщает о сбое на своей стороне (исключение в приложении, ошибка конфигурации), из-за которого запрос не выполнен. Причину ищут в логах сервера, а не в запросе.
501
501 Not Implemented
Сервер не поддерживает функциональность, необходимую для выполнения запроса.
502
502 Bad Gateway
HTTP 502 Bad Gateway — код ответа прокси, балансировщика или CDN, когда сервер за ним (upstream) не принял соединение или вернул ответ, который нельзя использовать.
503
503 Service Unavailable
HTTP 503 Service Unavailable — код временной недоступности: сервер перегружен, на обслуживании или не может достучаться до нужного ему сервиса и просит повторить запрос позже, иногда с заголовком Retry-After.
504
504 Gateway Timeout
HTTP 504 Gateway Timeout — код ответа прокси, балансировщика или CDN, когда сервер за ним (upstream) не ответил за отведенное время.
505
505 HTTP Version Not Supported
Сервер не поддерживает версию HTTP-протокола, использованную в запросе.
507
507 Insufficient Storage
Сервер не может сохранить данные для выполнения запроса (WebDAV).
508
508 Loop Detected
Сервер завершил операцию, обнаружив бесконечный цикл (WebDAV).
511
511 Network Authentication Required
Клиент должен пройти аутентификацию для получения доступа к сети (captive portal).

Проверьте HTTP-статус и заголовки вашего сайта

Проверить →

Часто задаваемые вопросы

Что означают коды статуса HTTP?

Коды статуса — трёхзначные числа, указывающие результат HTTP-запроса: 1xx (информационные), 2xx (успех), 3xx (перенаправление), 4xx (ошибка клиента), 5xx (ошибка сервера). Каждый код имеет конкретное значение.

Чем 404 отличается от 410?

404 (Not Found) — ресурс не найден, может появиться позже. 410 (Gone) — ресурс удалён навсегда. Для SEO: 410 быстрее удаляется из индекса. Используйте 410 для контента, который точно не вернётся.

Какой код использовать для редиректа?

301 — постоянный перенос (SEO-вес передаётся). 302 — временный (вес не передаётся полностью). 307 — строгий временный (сохраняет HTTP-метод). 308 — строгий постоянный (сохраняет метод). Для SEO обычно нужен 301.

Что означает 503 Service Unavailable?

503 — сервер временно не может обработать запрос (перегрузка, обслуживание). В отличие от 500 (внутренняя ошибка), 503 подразумевает, что проблема временная. Добавьте заголовок Retry-After для указания времени восстановления.

Что такое код 429 Too Many Requests?

429 — клиент превысил лимит запросов (rate limiting). Сервер должен отправить заголовок Retry-After с временем ожидания. Для API: реализуйте экспоненциальный backoff — увеличивайте паузу при каждом 429.