Список кодов ответов и ошибок HTTP

HTTP-коды состояния (или HTTP-статусы) — это трехзначные числовые коды, которые сервер отправляет в ответ на запросы клиентов (браузеров, поисковых систем, приложений). Эти коды делятся на несколько категорий в зависимости от их значения. В контексте веб-разработки и SEO важно понимать, какие коды могут встречаться на сайте и что они означают.

Информационные коды (1xx)

Эти коды показывают, что запрос был принят, но обработка ещё не завершена.

  • 100 Continue — Клиент должен продолжить отправку запроса, если не было ошибок.
  • 101 Switching Protocols — Сервер согласился с предложением клиента изменить протокол (например, переключение с HTTP на HTTPS).
  • 102 Processing (WebDAV) — Сервер получил запрос и выполняет его обработку, но результат ещё не готов.

Успешные коды (2xx)

Эти коды означают, что запрос был успешно обработан.

  • 200 OK — Запрос был успешно обработан, и сервер отправляет запрашиваемые данные.
  • 201 Created — Запрос выполнен успешно, и в результате была создана новая сущность (например, новый объект в базе данных).
  • 202 Accepted — Запрос принят, но еще не обработан.
  • 203 Non-Authoritative Information — Сервер успешно обработал запрос, но возвращает данные, которые могут отличаться от оригинала.
  • 204 No Content — Запрос выполнен, но возвращаемый ответ не содержит контента.
  • 205 Reset Content — Запрос выполнен, но клиент должен сбросить отображаемую информацию (например, очистить форму).
  • 206 Partial Content — Ответ содержит часть данных, запрашиваемых клиентом (например, при частичной загрузке файла).

Перенаправления (3xx)

Эти коды указывают на то, что клиент должен выполнить дополнительные действия для завершения запроса.

  • 300 Multiple Choices — Запрос имеет несколько возможных вариантов ответа. Клиент должен выбрать один из них.
  • 301 Moved Permanently — Страница была перемещена на новый URL. Это постоянное перенаправление, которое поисковые системы должны учитывать для обновления своих индексов.
  • 302 Found (раньше «Moved Temporarily») — Страница временно перемещена на другой URL. Клиенты должны продолжать использовать старый URL.
  • 303 See Other — Клиент должен перейти по другому URL для получения ответа на запрос.
  • 304 Not Modified — Запрашиваемая страница не была изменена с момента последнего запроса. Это часто используется для кэширования.
  • 305 Use Proxy — Запрос должен быть направлен через указанный прокси-сервер.
  • 307 Temporary Redirect — Страница временно перемещена на другой URL, и клиент должен использовать новый URL только для этого запроса.
  • 308 Permanent Redirect — Постоянное перенаправление, аналогичное 301, но с сохранением метода HTTP (например, POST).

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

Эти коды указывают на ошибки со стороны клиента. Чаще всего эти ошибки возникают из-за неправильных запросов, которые не могут быть обработаны сервером.

  • 400 Bad Request — Неверный запрос от клиента. Это может быть связано с ошибками синтаксиса в URL или данных.
  • 401 Unauthorized — Запрос требует авторизации. У пользователя нет прав на доступ к ресурсу.
  • 402 Payment Required — Этот код не используется в стандартных приложениях, но может быть использован для указания на необходимость оплаты.
  • 403 Forbidden — Запрещено. У пользователя есть права, но доступ к ресурсу ограничен.
  • 404 Not Found — Запрашиваемая страница или ресурс не найдены на сервере. Это одна из самых часто встречающихся ошибок.
  • 405 Method Not Allowed — Метод HTTP, используемый для запроса, не поддерживается для данного ресурса (например, попытка использовать POST вместо GET).
  • 406 Not Acceptable — Ресурс существует, но он не подходит для текущего запроса, исходя из заголовков «Accept» клиента.
  • 407 Proxy Authentication Required — Необходима авторизация через прокси-сервер.
  • 408 Request Timeout — Время ожидания запроса истекло, сервер не получил полный запрос от клиента.
  • 409 Conflict — Возник конфликт при обработке запроса (например, из-за данных, которые не могут быть объединены).
  • 410 Gone — Ресурс был удален навсегда, и его больше нельзя получить.
  • 411 Length Required — Сервер требует указания длины содержимого в заголовке запроса.
  • 412 Precondition Failed — Ожидаемое условие в заголовках запроса не было выполнено.
  • 413 Payload Too Large — Размер запроса слишком велик для обработки сервером.
  • 414 URI Too Long — URL запроса слишком длинный для обработки сервером.
  • 415 Unsupported Media Type — Тип содержимого, передаваемый в запросе, не поддерживается сервером.
  • 416 Range Not Satisfiable — Запрашиваемый диапазон данных недоступен для этого ресурса.
  • 417 Expectation Failed — Сервер не может выполнить требуемые ожидания, указанные в заголовке запроса.
  • 418 I’m a teapot — Этот код является шуткой (RFC 2324) и не используется в реальных приложениях. Он обозначает, что сервер — это чайник, и он не может заварить чай.
  • 421 Misdirected Request — Запрос был направлен на сервер, который не может обработать этот запрос.
  • 422 Unprocessable Entity (WebDAV) — Сервер понял запрос, но не может его обработать из-за ошибок в данных.
  • 423 Locked (WebDAV) — Ресурс заблокирован для изменения.
  • 424 Failed Dependency (WebDAV) — Запрос не может быть выполнен из-за ошибки в зависимых запросах.
  • 425 Too Early — Запрос слишком ранний, сервер не готов его обработать.
  • 426 Upgrade Required — Сервер требует обновления протокола.
  • 428 Precondition Required — Запрос должен включать условие.
  • 429 Too Many Requests — Превышен лимит запросов от клиента в заданный период времени.
  • 431 Request Header Fields Too Large — Заголовки запроса слишком большие для обработки сервером.
  • 451 Unavailable For Legal Reasons — Ресурс недоступен по юридическим причинам (например, в связи с законодательными ограничениями).

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

Эти коды означают, что ошибка произошла на стороне сервера.

  • 500 Internal Server Error — Общая ошибка сервера. Сервер столкнулся с неожиданной проблемой и не может выполнить запрос.
  • 501 Not Implemented — Сервер не поддерживает функциональность, необходимую для выполнения запроса.
  • 502 Bad Gateway — Сервер, работающий как шлюз или прокси, получил неверный ответ от вышестоящего сервера.
  • 503 Service Unavailable — Сервис временно недоступен из-за перегрузки или технического обслуживания сервера.
  • 504 Gateway Timeout — Сервер, работающий как шлюз или прокси, не получил вовремя ответ от вышестоящего сервера.
  • 505 HTTP Version Not Supported — Сервер не поддерживает использованную в запросе версию HTTP.
  • 506 Variant Also Negotiates — Произошла ошибка при выборе варианта ответа при использовании механизмов контекстной передачи.
  • 507 Insufficient Storage — Сервер не может хранить необходимые данные для выполнения запроса.
  • 508 Loop Detected — Сервер обнаружил бесконечный цикл при обработке запроса.
  • 510 Not Extended — Запрос требует дополнительных расширений для обработки.
  • 511 Network Authentication Required — Необходима авторизация для доступа к сети.