Список кодов состояния HTTP

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

Код состояния HTTP - это первая строка в HTTP-ответе, который отправляется с сервера клиенту.

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

Коды состояния выражаются трехзначными числами и кратким описанием.

Первая цифра номера обозначаетгруппа ответа.

Всего 5 групп:

  • 1xx: информационный ответ - указывает, что запрос был получен и понят
  • 2xx: успешный ответ - указывает, что действие, запрошенное клиентом, было получено, понято и принято
  • 3xx: redirection - указывает, что клиент должен предпринять дополнительные действия для выполнения запроса
  • 4xx: ошибка клиента - указывает на то, что произошла ошибка, которая, похоже, была вызвана клиентом
  • 5xx: ошибка сервера - указывает, что на сервере произошла ошибка

В оставшейся части сообщения я перечисляю все полезные коды статуса.

(Я удалил некоторые технологические, такие как WebDAV, а те, которые используются очень редко)

Информационные ответы

Код состояния Описание
100 Продолжить Сервер получил заголовки запроса, и клиент должен перейти к отправке тела запроса (в случае запроса, для которого необходимо отправить тело; например, запрос POST). Отправка большого тела запроса на сервер после того, как запрос был отклонен из-за несоответствующих заголовков, будет неэффективен. Чтобы сервер проверил заголовки запроса, клиент должен отправить Expect: 100-continue в качестве заголовка в своем первоначальном запросе и получить в ответ код состояния 100 Continue перед отправкой тела. Если клиент получает код ошибки, такой как 403 (Запрещено) или 405 (Метод запрещен), он не должен отправлять тело запроса. Ответ 417 Expectation Failed указывает на то, что запрос следует повторить без заголовка Expect, поскольку он указывает, что сервер не поддерживает ожидания (например, в случае серверов HTTP / 1.0).
101 протокол переключения Клиент попросил сервер переключить протоколы, и сервер согласился сделать это.См. RFC 7231 # 6.2.2.

Успешные ответы

Код состояния Описание
200 ОК Это стандартный ответ для успешных HTTP-запросов.
201 Создано Обычно это ответ на запрос POST. Запрос был выполнен, и новый ресурс был создан.
202 Принято Запрос принят в обработку. Ничего не сказано о фактической обработке и ее результате, которая может происходить на отдельном сервере или группироваться.
203 Неавторизованная информация Исходный сервер вернул 200, а преобразующий прокси между клиентом и сервером изменил полезную нагрузку.
204 Нет содержимого Сервер успешно обработал запрос, но не возвращает никакого содержимого.
205 Сбросить содержимое Сервер успешно обработал запрос, но не возвращает никакого содержимого. Аналогичен ответу 204, но сервер требует, чтобы клиент сбросил представление документа (например, используется для очистки форм)
206 Частичное содержимое В ответ наRangeзапрос, поступающий от клиента, сервер отправляет частичный ответ содержимого.See RFC 7233#4.1

Перенаправление

Код состояния Описание
301 перемещен навсегда Этот и все будущие запросы должны быть направлены на указанный URI. Используйте только с запросами GET / HEAD и308 Permanent Redirectдля всех остальных методов.
302 Найдено Ресурс временно перемещен по URL-адресу, указанному вLocationзаголовок. Используйте только с запросами GET / HEAD и307 Temporary Redirectдля всех остальных методов.
303 См. Другое После запроса POST или PUT указывает на подтверждающее сообщение вLocationзаголовок, доступный с помощью нового запроса GET.
304 Не изменено Когда клиент использует заголовки запросаIf-Modified-Sinceили жеIf-None-Match, этот код состояния ответа указывает, что ресурс не был изменен.
307 Временное перенаправление Подобно302запрос, за исключением того, что он не позволяет изменить метод HTTP
308 постоянное перенаправление Подобно301запрос, за исключением того, что он не позволяет изменить метод HTTP

Ошибки клиента

Код состояния Описание
ошибка 400, неверный запрос Из-за ошибки запроса, сгенерированной на клиенте, сервер не может обработать запрос. Ошибки могут включать в себя неправильный запрос, слишком большой размер для обработки и другие.
401 Неавторизованный Отправляется, когда требуется аутентификация и клиент не авторизован
403 Запрещено Ресурс недоступен по разным причинам. Если причина в аутентификации, предпочтите401 Unauthorizedкод состояния.
404 Не Найдено Запрошенный ресурс не может быть найден.
405 Метод запрещен Ресурс недоступен с помощью этого метода HTTP, но может быть с другим.
406 неприемлемо Клиент сдалAcceptзаголовок со значениями, несовместимыми с сервером.
407 Требуется проверка подлинности прокси Между клиентом и сервером есть прокси, который требует аутентификации.
408 Тайм-аут запроса Время ожидания запроса на сервере истекло.
409 Конфликт Указывает, что запрос не может быть обработан из-за конфликта в текущем состоянии ресурса, такого как конфликт редактирования между несколькими одновременными обновлениями.
410 ушел Ресурс больше не доступен и больше не будет доступен. Например, более мощный, чем 404, поисковые системы интерпретируют его как указание на удаление этого ресурса из своего индекса.
411 Требуемая длина Клиенту необходимо добавить в запрос заголовок Content-Length, и это было необходимо.
412 Ошибка предварительного условия Возвращается, если клиент отправилIf-Unmodified-Sinceили жеIf-None-Matchзаголовок запроса, и сервер не может удовлетворить это условие.
413 Payload Too Large (Слишком большая полезная нагрузка) Запрос больше, чем сервер хочет или может обработать.
414 URI слишком длинный Предоставленный URI слишком длинный для обработки сервером.
415 Неподдерживаемый тип носителя Объект запроса имеет тип мультимедиа, который сервер или ресурс не поддерживает.
416 Range Not Satisfiable (диапазон не соответствует требованиям) Клиент запросил часть файла, используяRangeзаголовок, но сервер не может предоставить эту часть.
417 Ожидание не выполнено Сервер не может соответствовать требованиямExpectзаголовок запроса.
421 неправильно направленный запрос Запрос был направлен на сервер, который не может дать ответ (например, из-за повторного использования соединения).
426 Требуется обновление Клиент должен переключиться на другой протокол, такой как TLS / 1.0, указанный вUpgradeполе заголовка.
428 Требуется предварительное условие Сервер требует, чтобы запрос содержалIf-Matchзаголовок.
429 Too Many Requests (Слишком много запросов) Пользователь отправил слишком много запросов за заданный промежуток времени. Используется для ограничения скорости.
431 Слишком большие поля заголовка запроса Запрос не может быть выполнен, потому что один или несколько заголовков или весь набор заголовков слишком велик.
451 Недоступно по юридическим причинам Ресурс недоступен по юридическим причинам

Ошибки сервера

Код состояния Описание
внутренняя ошибка сервера 500 Общее сообщение об ошибке сервера, которое выдается, когда возникла непредвиденная ситуация, и более конкретное сообщение не подходит.
501 Не реализовано Сервер либо не распознает метод запроса, либо не может выполнить запрос.
502 Неверный шлюз Сервер действовал как шлюз или прокси и получил недопустимый ответ от вышестоящего сервера.
сервис 503 недоступен Сервер в настоящее время временно недоступен (потому что он перегружен или отключен для обслуживания).
Ошибка 504 Время ответа сервера истекло Сервер действовал как шлюз или прокси и не получил своевременного ответа от вышестоящего сервера.
505 Версия HTTP не поддерживается Сервер не поддерживает версию протокола HTTP, указанную в запросе.

Дополнительные уроки по сети: