Список кодов ответов и ошибок 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 — Необходима авторизация для доступа к сети.