Главная > web, Администрирование, Программирование > HTTP: Список кодов ответов и их описание.

HTTP: Список кодов ответов и их описание.

Код состояния ответа на HTTP запрос содержится в его заголовке и информирует о результате запрошенного действия и о том, что клиент должен предпринять далее. Возможно, не все знают как выглядит заголовок ответа сервера, но наверняка каждый, кто пользуется интернетом, встречался со страницей 404 Not Found или 403 Forbidden. Впрочем, далеко не обязательно, что эти страницы имеют соответствующий HTTP заголовок, но, если строго следовать стандартам, - должны.

Все коды состояния HTTP разделены на 5 категорий. Клиент должен отреагировать согласно категории кода. Рассмотрим далее возможные коды статуса, разделённые по категориям:

1xx: Information - информационные

100 Continue - Продолжать.
Сервер принял данные от клиента клиента, можно продолжать передачу заголовков. Появился в протоколе версии HTTP/1.1.
101 Switching Protocols - Переключение протоколов.
Сервер предлагает выбрать другой протокол, более соответствующий данному ресурсу. Протоколы предлагаемый сервером, указываются в строке заголовка Update, если предложенный сервером протокол устраивает клиента, он высылает новый запрос с указанием нового протокола. Появился в протоколе версии HTTP/1.1.
102 Processing - Обрабатывается.
Используется в протоколе WebDAV, работающем поверх HTTP протокола. Данный код статуса информирует клиента о том, что запрос принят, но на его обработку может понадобится определенное время, чтобы он (клиент), не сбрасывал соединение. Клиент в этом случае должен обнулить таймер ожидания ответа и ждать следующей команды.

2xx: Success - Успешное завершение

200 OK - Хорошо.
Запрос к ресурсу прошёл успешно. Данные, запрошенные клиентом, находятся в заголовке и/или теле ответа. Появился в протоколе версии HTTP/1.0.
201 Created - Создано.
Запрос выполнен успешно, новый ресурс создан. В ответе сервера, в заголовке Location, указывается местоположение созданного ресурса. Кроме того, серверу рекомендуется указывать характеристики созданного ресурса, в заголовке ответа. Появился в протоколе версии HTTP/1.0.
202 Accepted - Принято.
Запрос принят, но еще в обработке. Появился в протоколе версии HTTP/1.0. Обычно используется при выполнении сервером ресурсоёмких или длительных операций в фоновом режиме.
203 Non-Authoritative Information - Информация из неавторитетного источника.
Аналогично коду 200, но в данном случае информация может быть неактуальной, так как взята не из первоисточника. Появился в протоколе версии HTTP/1.1.
204 No Content - Отсутствует содержимое.
Сервер успешно обработал запрос, но не вернул содержимого. Появился в протоколе версии HTTP/1.0.
205 Reset Content - Сбросить содержимое.
Сервер успешно обработал запрос, но не вернул содержимого. В отличии от кода 204, данный код, требует от клиента, сбросить представление документа. Появился в протоколе версии HTTP/1.1.
206 Partial Content - Часть содержимого.
Сервер вернул результат запроса клиентом части содержимого, запрошенного с помощью заголовка range. Используется для докачки файлов или для многопоточной загрузки. Появился в протоколе версии HTTP/1.1.
207 Multi-Status - Многостатусный.
Возвращаемое сервером тело сообщения, представляет из себя XML документ со статусами выполнения нескольких подзапросов. Используется в протоколе WebDAV.
226 IM Used - Использовано IM
Расширение HTTP для поддержки "дельта кодирования" (delta encoding). Заголовок A-IM принят, данные возвращаются согласно установленным параметрам.

3xx: Redirection - Редирект (перенаправление)

Коды данной категории сообщают клиенту, что для завершения запроса ему необходимо выполнить дополнительный запрос, как правило, по другому URI, соответствующий адрес указывается в заголовке ответа сервера Location. Программа-клиент может совершать дополнительные запросы без участия пользователя, при условии, что дополнительный запрос делается методами GET или HEAD.

Некоторые клиенты некорректно работают с перенаправлениями 301 и 302, применяя в запросе ко второму ресурсу метод GET, несмотря на то, что первый запрос был сделан с использованием другого метода. В протоколе HTTP версии 1.1, вместо ответа статуса 302, были введены дополнительные коды ответов, 303 и 307. Изменять метод, необходимо только в случае ответа сервера со статусом 303, в остальных случаях использовать исходный метод. Часто 303й редирект используется в ответе на успешный POST-запрос чтобы избежать повторной отправки данных веб-браузером при обновлении страницы.

300 Multiple Choices - Несколько вариантов выбора.
По запрошенному URI, существует несколько вариантов ресурса с различными по MIME-типами, языками или другим свойствами. В ответе сервера, передаётся список альтернатив, выбираемый клиентским приложением автоматически или с участием пользователя. Появился в протоколе версии HTTP/1.0.
301 Moved Permanently - Перемещено окончательно ("постоянный" редирект).
Запрошенный ресурс был окончательно перемещен на URI, указанный в строке Location заголовка ответа сервера. Некоторые клиенты, при обработке данного кода, ведут себя некорректно, см. выше. Появился в протоколе версии HTTP/1.0.
302 Found - Найдено (Moved Temporarily)
Данный код статуса сообщает клиенту, что ресурс временно доступен по другому URI, указанному в строке заголовка Location заголовка ответа сервера. Данный код используется, например, при согласовании содержимого (Content Negotiation), выполняемого сервером. Появился в протоколе версии HTTP/1.0.
303 See Other - Смотреть другое.
Документ из запрошенного URI нужно запросить по адресу, указанному в строке заголовка Location заголовка ответа сервера, используя метод GET, игнорируя метод первого запрос. Появился в протоколе версии HTTP/1.1.
304 Not Modified - Не изменялось.
Данный код выдаётся в случае запроса документа методом GET, с использованием заголовков If-Modified-Since или If-None-Match, если документ не был изменен с указанного момента времени. Используется при кешировании результатов браузером или другим клиентом. Появился в протоколе версии HTTP/1.0.
305 Use Proxy - Использовать прокси сервер.
Запрос к ресурсу должен выполняться через прокси-сервер, адрес которого указан в строке Location заголовка ответа сервера. Появился в протоколе версии HTTP/1.1.
307 Temporary Redirect - Временное перенаправление
Запрошенный ресурс временно доступен по URI, указанному в строке Location заголовка ответа сервера. Появился в протоколе версии HTTP/1.1.

4xx: Client Error - Ошибка клиента

Коды данной категории служат для указания на ошибку со стороны клиента. При использовании любых методов запроса, кроме HEAD, сервера должен возвращать пользователю гипертекстовое пояснение по данной ошибке.

400 Bad Request - Плохой запрос.
Из-за синтаксической ошибки или другой причины, запрос не был понят сервером. Появился в протоколе версии HTTP/1.0.
401 Unauthorized - Не авторизован.
Ресурс требует идентификации пользователя. Клиентское приложение запрашивает у пользователя данные для аутентификации (имя, пароль) и передает их на сервер в заголовке WWW-Authenticate. Если данные указаны неправильно, будет снова возвращён этот-же код статуса. Появился в протоколе версии HTTP/1.0.
402 Payment Required - Необходима оплата.
Пока не используется. Появился в протоколе версии HTTP/1.1.
403 Forbidden - Запрещено.
Сервер отказал в доступе к запрошенному ресурсу ввиду ограничений. Ограничения могут быть любыми, установленными администратором сервера, или определенным веб-приложением. Например, в целях безопасности, закрыт доступ к файлу .htacces или .htpasswd, или к закрытой директории сайта, и т.п. Появился в протоколе версии HTTP/1.0.
404 Not Found - Не найдено.
Сервер не нашел запрошенный ресурс по указанному адресу. Кроме того, данный код ответа можно использовать вместо 403, с целью скрыть расположение документа, доступ к которому запрещен. Появился в протоколе версии HTTP/1.0.
405 Method Not Allowed - Метод не поддерживается.
Клиент попытался использовать метод, недопустимый для данного ресурса. Сервер передает в заголовке, строку Allow, содержащую список допустимых методов. Появился в протоколе версии HTTP/1.1.
406 Not Acceptable - Не приемлемо.
Запрошенный ресурс не удовлетворяет запрошенным характеристикам. В случае, если запрос был сделан не методом HEAD, сервер вернёт список допустимых характеристик запрошенного ресурса. Появился в протоколе версии HTTP/1.1.
407 Proxy Authentication Required - Необходима прокси авторизация.
Данный код статуса аналогичен коду 401, за исключением того, что аутентификация производится для прокси-сервера. Появился в протоколе версии HTTP/1.1.
408 Request Timeout - Время ожидания истекло.
Истёк таймаут ожидания передачи данных между сервером и клиентом. Появился в протоколе версии HTTP/1.1.
409 Conflict - Конфликт.
Конфликтная ситуация при обращении к ресурсу. Такое может произойти, например, при попытке одновременного изменения файла методом PUT несколькими клиентами. Появился в протоколе версии HTTP/1.1.
410 Gone - Удалён.
Данный ответ выдается в случае если документ был по указанному URI, но в данный момент удален. Появился в протоколе версии HTTP/1.1.
411 Length Required - Необходима длина.
Этот код статуса говорит о том, что для данного URI в заголовке запроса должно быть указано значение в поле Content-Length. Появился в протоколе версии HTTP/1.1.
412 Precondition Failed - Условие не выполнено.
Данный код выдается в случае если ни одно из условных полей заголовка не было удовлетворено. Появился в протоколе версии HTTP/1.1.
413 Request Entity Too Large - Запрошенная сущность слишком большая.
Данный код выдается если сервер по каким-либо причинам не может передать требуемый объём данных. Если это временная проблема, сервер может указать время в строке Retry-After заголовка ответа, по истечении которого, можно будет попробовать повторно запросить ресурс. Появился в протоколе версии HTTP/1.1.
414 Request-URI Too Long - Запрашиваемый URI слишком длинный.
Слишком длинная строка запроса. Такая ситуация может произойти, например, в случае попытки передать данные методом GET, вместо использования POST. Появился в протоколе версии HTTP/1.1.
415 Unsupported Media Type - Неподдерживаемый тип данных.
Сервер по какой-либо причине отказался обрабатывать запрошенные данные запрошенным методом. Появился в протоколе версии HTTP/1.1.
416 Requested Range Not Satisfiable - Запрашиваемый диапазон не достижим.
В строке заголовка запроса Range установлен диапазон, выходящий за рамки запрошенного ресурса, и отсутствует строка If-Range. Появился в протоколе версии HTTP/1.1.
417 Expectation Failed - Ожидаемое не приемлемо.
Сервер не может обработать строку заголовка запроса Expect. Появился в протоколе версии HTTP/1.1.
418 I'm a teapot - Я чайник
Этот код был введён в 1998 в качестве традиционной первоапрельской шутки. Является частью протокола гипертекстового управления кофеваркой (Hyper Text Coffee Pot Control Protocol - HTCPCP) и не должен быть реализован какими-либо HTTP-серверами. Должен выдаваться при попытке заварить кофе в чайнике. Был описан в RFC 2324.
420 Enhance Your Calm (Twitter) - Успокойтесь (дословно - "улучшите ваше спокойствие")
Не является частью HTTP-стандартов, но возвращается API поиска Twitter'а и Trends API (тоже Twitter API) в случае когда клиент исчерпал лимит на количество запросов в единицу времени. Другие сервисы обычно используют код 429.
422 Unprocessable Entity - Необрабатываемая сущность.
Запрос принят, тип данных может быть обработан, синтаксис XML-данных в теле запроса верен, но имеет место логическая ошибка, непозволяющая обработать запрос к ресурсу. Используется в протоколе WebDAV.
423 Locked - Заблокировано.
Запрошенный ресурс заблокирован от данного метода. Используется в протоколе WebDAV.
424 Failed Dependency - Невыполненная зависимость.
Выполнение запроса может зависеть от результата выполнения какой-либо другой операции, при невыполнении данного условия, будет выдан этот код статуса. Используется в протоколе WebDAV.
425 Unordered Collection - Беспорядочный набор.
Этот код статуса будет выдан в случае если клиент отправил запрос указав индекс в неотсортированных данных или используя порядок следования элементов отличный от серверного. Введено в черновике по WebDAV Advanced Collections Protocol.
426 Upgrade Required - Требуется обновление.
Указание сервера клиенту обновить протокол. Заголовок ответа должен содержать правильно составленные поля Upgrade и Connection. Введено в RFC 2817 для возможности перехода к TLS посредством HTTP.
429 Too Many Requests - Слишком много запросов

Пользователь послал слишком много запросов в единицу вереми. Этот ответ предполагает использование ограничений на количество запросов. Был введён в RFC 6585.

449 Retry With - Повторить с...
Выдается в случае поступления недостаточного количества информации для обработки запроса. В заголовок ответа сервера, помещается строка Ms-Echo-Request. Введено корпорацией Microsoft для WebDAV.

5xx: Server Error - Ошибка на стороне сервера

Коды данной категории, предназначены для ситуаций, когда обработка запроса не возможна по вине сервера. Во всех случаях, кроме использования метода HEAD, сервер должен включать в тело ответа пояснения для пользователя.

500 Internal Server Error - Внутренняя ошибка сервера.
Любая внутренняя ошибка на стороне сервера, не подпадающая под остальные ошибки из категории 5хх. Появился в протоколе версии HTTP/1.0.
501 Not Implemented - Не реализовано.
Сервер не поддерживает необходимых для обработки запроса возможностей. Появился в протоколе версии HTTP/1.0.
502 Bad Gateway - Плохой шлюз.
Сервер, работающий в качестве прокси или шлюза, получил сообщение о неудаче в промежуточной операции. Появился в протоколе версии HTTP/1.0.
503 Service Unavailable - Сервис недоступен.
Сервер не в состоянии обрабатывать запросы клиентов по техническим причинам. Появился в протоколе версии HTTP/1.0.
504 Gateway Timeout - Истек таймаут ожидания ответа шлюза.
Проксирующий сервер или шлюз не дождался ответа от вышестоящего сервера для завершения обработки запроса. Появился в протоколе версии HTTP/1.0.
505 HTTP Version Not Supported - Версия HTTP протокола не поддерживается.
Сервер не поддерживает или не может обработать указанную в заголовке версию HTTP протокола. Появился в протоколе версии HTTP/1.0.
506 Variant Also Negotiates - Вариант тоже согласован.
Из-за неверной конфигурации, выбранный вариант указывает сам на себя, вследствие чего, связывание прерывается. Добавлено в RFC 2295 для дополнения протокола HTTP технологией Transparent Content Negotiation.
507 Insufficient Storage - Переполнение хранилища.
Недостаточно места для обработки текущего запроса. Возможно, временная проблема. Используется в протоколе WebDAV.
509 Bandwidth Limit Exceeded - Пропускная возможность канала исчерпана.
Данный код статуса, используется в случае превышения веб-сервером отведенного ему лимита на потребляемый трафик. Данный код не описан ни одним RFC и используется только модулем bw/limited в панели веб-хостинга cPanel.
510 Not Extended - Нет расширения.
У сервера отсутствует расширение, которое пытается использовать клиент. Сервер может передавать информацию, об имеющихся у него расширениях. Введено в RFC 2774 для дополнения протокола HTTP поддержкой расширений.
Пожалуйста, оцените полезность и качество данной статьи. Одна звезда - плохо, 5 - хорошо.
1/5. Мы будем признательны, если вы напишете комментарий с причиной низкой оценки.2/5. Мы будем признательны, если вы напишете комментарий с причиной низкой оценки.3/5. Мы будем признательны, если вы напишете комментарий с причиной низкой оценки.4/5.5/5. (2 голосов, средний: 5,00 из 5)
Загрузка...
  1. Пока что нет комментариев.
  1. Пока что нет уведомлений.