HTTP. Полный список кодов ответов HTTP

28.03.2020

Во время запроса информации браузером или поисковым роботом ему отдается определенный HTTP код состояния сервера. Коды состояния HTTP протокола состоят из трех цифр от 100 и до 526. Диапазон значений кодов сервера постоянно расширяется и вводятся новые значения.

Существуют основные группы ответов сервера:

  • Информационные (100 — 105)
  • Успешные (200 — 226)
  • Перенаправление (300 — 307)
  • Ошибка клиента (400 — 499)
  • Ошибка сервера (500 — 526)

Основные и часто встречающие типы ответов сервера это: 200, 404, 500 и 301

Полный список кодов ответа сервера

Ответ сервера 1хх – информационные коды ответа HTTP.

100 Continue — Сервер удовлетворён начальными сведениями о запросе, клиент может продолжать пересылать заголовки.

101 Switching Protocols — Сервер предлагает перейти на более подходящий для указанного ресурса протокол; список предлагаемых протоколов сервер обязательно указывает в поле заголовка Update. Если клиента это заинтересует, то он посылает новый запрос с указанием другого протокола. 

102 Processing — Запрос принят, но на его обработку понадобится длительное время. Используется сервером, чтобы клиент не разорвал соединение из — за превышения времени ожидания. Клиент при получении такого ответа должен сбросить таймер и дожидаться следующей команды в обычном режиме. Появился в WebDAV.

Ответ сервера 2xx – успешные коды ответа сервера

200 OK — Успешный запрос.

202 Accepted — Запрос был принят на обработку, но она не завершена.

203 Non — Authoritative Information — Аналогично ответу 200, но в этом случае передаваемая информация была взята не из первичного источника (резервной копии, другого сервера и т. д.) и поэтому может быть неактуальной.

204 No Content — Сервер успешно обработал запрос, но в ответе были переданы только заголовки без тела сообщения. Клиент не должен обновлять содержимое документа, но может применить к нему полученные метаданные.

205 Reset Content — Сервер обязывает клиента сбросить введённые пользователем данные. Тела сообщения сервер при этом не передаёт и документ обновлять не обязательно.

206 Partial Content — Сервер удачно выполнил частичный GET — запрос, возвратив только часть сообщения. В заголовке Content — Range сервер указывает байтовые диапазоны содержимого. Особое внимание при работе с подобными ответами следует уделить кэшированию.

207 Multi-Status — Сервер передаёт результаты выполнения сразу нескольких независимых операций. Они помещаются в само тело сообщения в виде XML — документа с объектом multistatus. Не рекомендуется размещать в этом объекте статусы из серии 1xx из — за бессмысленности и избыточности. Появился в WebDAV.

226 IM Used — Заголовок A-IM от клиента был успешно принят и сервер возвращает содержимое с учётом указанных параметров.

Ответ сервера 3хх – коды ответа сервера отвечающие за перенаправление

300 Multiple Choices — Несколько вариантов выбора.По запрошенному URI, существует несколько вариантов ресурса, различных по MIME типу. языку или другим признакам. В ответе сервера, передается список альтернатив, выбираемый клиентским приложением автоматически или самим пользователем.

301 Moved Permanently — Перемещёно окончательно.Запрошенный ресурс был окончательно перемещен на URI, указанный в строке заголовка Location, ответа сервера. Некоторые клиенты, при обработке данного кода, ведут себя некорректно, см. выше.

302 Found — Найдено ( Moved Temporarily ) Данный код статуса сообщает клиенту, что ресурс временно доступен по другому URI, указанному в строке заголовка Location, заголовка ответа сервера. Данный код используется например, при согласовании содержимого ( Content Negotiation ), выполняемого сервером.

303 See Other — Смотреть другое. Документ из запрошенного URI, нужно запросить по адресу, указанному в строке заголовка Location, заголовка ответа сервера, используя метод GET, невзирая на то, каким методом был сделан первый запрос.

304 Not Modified — Не изменялось. Данный код выдается в случае запроса документа, методом GET, с использованием заголовков If — Modified — Since или If — None — Match, и документ не был изменен с указанного момента времени.

305 Use Proxy — Использовать прокси сервер. Запрос к ресурсу, должен выполняться через прокси — сервер., адрес которого, указан в строке заголовка Location, заголовка ответа сервера.

307 Temporary Redirect — Временное перенаправление. Запрошенный ресурс временно доступен по URI, указанному в строке заголовка Location, заголовка ответа сервера.

Ответ сервера 4xx — код ответа типа ошибка клиента

400 Bad Request — Плохой запрос. Из — за синтаксической ошибки, запрос не был понят сервером.

401 Unauthorized — не авторизован. Ресурс требует идентификации пользователя. Клиентское приложение запрашивает у пользователя данные для аутентификации ( имя, пароль ) и передает их на сервер в заголовке WWW — Authenticate. Если данные указаны не правильно, будет снова выдан этот — же код статуса.

402 Payment Required — Необходима оплата. Пока не используется.

403 Forbidden — Запрещено. Сервер отказал в доступе к запрошенному ресурсу ввиду ограничений. Ограничения могут быть любыми, установленными администратором сервера, или определенным веб приложением. Например, в целях безопасности, закрыт доступ к файлу, .htacces или .htpasswd или к закрытой директории сайта.

404 Not Found — Не найдено. Сервер не нашел запрошенный ресурс по указанному адресу. Кроме того данный код ответа можно использовать вместо 403, с целью, скрыть расположение документа, доступ к которому запрещен.

405 Method Not Allowed — Метод не поддерживается.Клиент попытался использовать метод, недопустимый для данного ресурса. Сервер передает в заголовке, строку Allow, содержащую список допустимых методов.

406 Not Acceptable — Неприемлемо. Запрошенный ресурс, не удовлетворяет, запрошенные характеристики. В случае, если запрос был сделан не методом HEAD, сервер вернет список допустимых характеристик запрошенного ресурса.

407 Proxy Authentication Required — Необходима прокси авторизация.Данный код статуса, аналогичен коду 401 за исключением того, что аутентификация производится для прокси — сервера.

408 Request Timeout — Время ожидания истекло. Истек тайм — аут ожидания передачи данных, между сервером и клиентом.

409 Conflict — Конфликт. Конфликтная ситуация при обращении к ресурсу. Такое может произойти, например, при попытке одновременного изменения файла, методом PUT, несколькими клиентами.

410 Gone — Удалён. Данный ответ выдается в случае, если документ был по указанному URI, но в данный момент удален.

411 Length Required — Необходима длина.Этот код статуса говорит о том, что для данного URI, в заголовке запроса, должно быть указано значение в поле Content — Length.

412 Precondition Failed — Условие «ложно.Данный код выдается в случае, если ни одно из условных полей заголовка не было удовлетворено.

413 Request Entity Too Large — Запрошены слишком большие данные. Данный код выдается, если сервер по каким — либо причинам, не может передать, требуемый объем данных. Если это временная проблема, сервер может указать время, по истечении которого можно будет попробовать повторно запросить ресурс, в строке заголовка, Retry — After.

414 Request — URI Too Long — Запрашиваемый URI слишком длинный. Слишком длинная строка запроса. Такая ситуация может произойти, например в случае попытки, передать данные методом GET, вместо использования POST.

415 Unsupported Media Type — Не поддерживаемый тип данных.Сервер, по какой — то причине, отказался обрабатывать запрошенные данные, используемым методом

416 Requested Range Not Satisfiable — Запрашиваемый диапазон не достижим.В строке заголовка запроса Range, установлен диапазон, выходящий за рамки запрошенного ресурса и отсутствует строка If - Range.

417 Expectation Failed — Ожидаемое не приемлемо. Сервер не может обработать строку заголовка запроса Expect.

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.

428 Precondition Required — Серверу требуются условия для выполнения запроса.Это типичная ситуация, когда клиент получает данные по GET, модифицирует их и отправляет назад на сервер через PUT, но к тому времени они уже были модифицированы другим клиентом, из-за чего возникает конфликт. Требуя обусловленного запроса, сервер защищается от возникновения конфликта. При этом обязательно должны быть указаны условия для корректной отправки данных на сервер.

429 Too many requests — Слишком много запросов.Пользователь отправил слишком много запросов в заданный период времени. Ответ должен содержать объяснение нарушенного условия и может содержать заголовок Retry - After с указанием времени, которое нужно подождать перед повтором.

431 Request header fields too large — Один или несколько запросов превышают норму.Сервер отказывает в обработке запроса из-за того, что один или несколько заголовков в сумме превышают норму. Во втором случае в ответе должно содержаться указание, какой именно заголовок вызвал проблему.

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

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

500 Internal Server Error — Внутренняя ошибка сервера. Любая внутренняя ошибка на стороне сервера не подпадающая под остальные ошибки из категории 5хх.

501 Not Implemented — Не реализовано. Сервер не поддерживает, необходимых для обработки запроса, возможностей. ( например не поддерживается необходимый метод обработки ).

502 Bad Gateway — Плохой шлюз. Сервер, работающий в качестве прокси или шлюза, получил сообщение о неудачное в промежуточной операции.

503 Service Unavailable — Сервис недоступен. Сервер не в состоянии обрабатывать запросы клиентов по техническим причинам.

504 Gateway Timeout — Истек тайм-аут ожидания ответа шлюза. Проксирующий сервер или шлюз, не дождался ответа от вышестоящего сервера для завершения обработки запроса.

505 HTTP Version Not Supported — Версия HTTP протокола не поддерживается.Сервер не поддерживает, или не может обработать, указанную в заголовке версию HTTP протокола.

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 поддержкой расширений.

511 Network authentication required — Необходимо выполнить аутентификацию. Необходимо выполнить аутентификацию, при этом в ответе должна содержаться инструкция о том, как это сделать, например, с помощью HTML-формы по указанному адресу. Ошибку 511 возвращает не целевой сервер, а прокси, который не пускает пользователя в сеть.

520 Unknown Error — Неизвестная ошибка. Возникает когда сервер CDN не смог обработать ошибку веб-сервера; нестандартный код CloudFlare.

521 Web Server Is Down — Веб-сервер недоступен. Возникает когда подключения CDN отклоняются веб-сервером; нестандартный код CloudFlare.

522 Connection Timed Out — Тайм-аут подключения. Возникает когда CDN не удалось подключиться к веб-серверу; нестандартный код CloudFlare.

523 Origin Is Unreachable — Источник не доступен. Возникает когда веб-сервер недостижим; нестандартный код CloudFlare.

524 A Timeout Occurred — Достигнут тайм-аут. Возникает при истечении тайм-аута подключения между сервером CDN и веб-сервером; нестандартный код CloudFlare.

525 SSL Handshake Failed — SSL рукопожатие завершилось ошибкой. Возникает при ошибке рукопожатия SSL между сервером CDN и веб-сервером; нестандартный код CloudFlare.

526 Invalid SSL Certificate — Недействительный SSL сертификат. Возникает когда не удаётся подтвердить сертификат шифрования веб-сервера; нестандартный код CloudFlare.

Еще по теме HTTP протокол

Самые распространенные HTTP коды ответа

Что такое HTTP протокол