Коды ответов HTTP

Код ответа (состояния) HTTP показывает, был ли успешно выполнен определённый HTTP запрос.
Коды сгруппированы в 5 классов: информационные, успешные, перенаправления, ошибки клиента и ошибки сервера

Следующая таблица содержит список всех кодов и их значения:

Код ответа Название Описание Версия HTTP
Информационные
100 Continue “Продолжить”. Этот промежуточный ответ указывает, что запрос успешно принят и клиент может продолжать присылать запросы либо проигнорировать этот ответ, если запрос был завершён. Только HTTP/1.1
101 Switching Protocol “Переключение протокола”. Этот код присылается в ответ на запрос клиента, содержащий заголовок Upgrade:, и указывает, что сервер переключился на протокол, который был указан в заголовке. Эта возможность позволяет перейти на несовместимую версию протокола и обычно не используется. Только HTTP/1.1
102 Processing “В обработке”. Этот код указывает, что сервер получил запрос и обрабатывает его, но обработка ещё не завершена. Только HTTP/1.1
103 Early Hints “Ранние подсказки”. В ответе сообщаются ресурсы, которые могут быть загружены заранее, пока сервер будет подготавливать основной ответ. RFC 8297 (Experimental). Только HTTP/1.1
Успешные
200 OK “Успешно”. Запрос успешно обработан. Что значит “успешно”, зависит от метода HTTP, который был запрошен: GET: “ПОЛУЧИТЬ”. Запрошенный ресурс был найден и передан в теле ответа. HEAD: “ЗАГОЛОВОК”. Заголовки переданы в ответе. POST: “ПОСЫЛКА”. Ресурс, описывающий результат действия сервера на запрос, передан в теле ответа. TRACE: “ОТСЛЕЖИВАТЬ”. Тело ответа содержит тело запроса полученного сервером. HTTP/0.9 и выше
201 Created “Создано”. Запрос успешно выполнен и в результате был создан ресурс. Этот код обычно присылается в ответ на запрос PUT “ПОМЕСТИТЬ”. HTTP/0.9 и выше
202 Accepted “Принято”. Запрос принят, но ещё не обработан. Не поддерживаемо, т.е., нет способа с помощью HTTP отправить асинхронный ответ позже, который будет показывать итог обработки запроса. Это предназначено для случаев, когда запрос обрабатывается другим процессом или сервером, либо для пакетной обработки. HTTP/0.9 и выше
203 Non-Authoritative Information “Информация не авторитетна”. Этот код ответа означает, что информация, которая возвращена, была предоставлена не от исходного сервера, а из какого-нибудь другого источника. Во всех остальных ситуациях более предпочтителен код ответа 200 OK. HTTP/0.9 и 1.1
204 No Content “Нет содержимого”. Нет содержимого для ответа на запрос, но заголовки ответа, которые могут быть полезны, присылаются. Клиент может использовать их для обновления кешированных заголовков полученных ранее для этого ресурса. HTTP/0.9 и выше
205 Reset Content “Сбросить содержимое”. Этот код присылается, когда запрос обработан, чтобы сообщить клиенту, что необходимо сбросить отображение документа, который прислал этот запрос. Только HTTP/1.1
206 Partial Content “Частичное содержимое”. Этот код ответа используется, когда клиент присылает заголовок диапазона, чтобы выполнить загрузку отдельно, в несколько потоков. Только HTTP/1.1
207 Muiti-Status Передаёт информацию о нескольких ресурсах в случаях, когда могут быть уместны несколько кодов состояния. WebDAV
208 Already Reported Используется внутри элемента ответа , чтобы избежать повторного перечисления «привязок» и дублирования данных. WebDAV
226 IM Used Используется для ответа на запросы GET в тех случаях, когда сервер хочет отправить только изменённую часть ресурса (то есть «дельту»). HTTP Delta Encoding
Сообщения о перенаправлениях
300 Multiple Choice “Множественный выбор”. Этот код ответа присылается, когда запрос имеет более чем один из возможных ответов. И User-agent или пользователь должен выбрать один из ответов. Не существует стандартизированного способа выбора одного из полученных ответов. HTTP/1.0 и выше
301 Moved Permanently “Перемещён на постоянной основе”. Этот код ответа значит, что URI запрашиваемого ресурса был изменён. Возможно, новый URI будет предоставлен в ответе. HTTP/0.9 и выше
302 Found “Найдено”. Этот код ответа значит, что запрошенный ресурс временно изменён. Новые изменения в URI могут быть доступны в будущем. Таким образом, этот URI, должен быть использован клиентом в будущих запросах. HTTP/0.9 и выше
303 See Other “Просмотр других ресурсов”. Этот код ответа присылается, чтобы направлять клиента для получения запрашиваемого ресурса в другой URI с запросом GET. HTTP/0.9 и 1.1
304 Not Modified “Не модифицировано”. Используется для кеширования. Это код ответа значит, что запрошенный ресурс не был изменён. Таким образом, клиент может продолжать использовать кешированную версию ответа. HTTP/0.9 и выше
305 Use Proxy “Использовать прокси”. Это означает, что запрошенный ресурс должен быть доступен через прокси. Этот код ответа в основном не поддерживается из соображений безопасности. Только HTTP/1.1
306 Switch Proxy Больше не использовать. Изначально подразумевалось, что ” последующие запросы должны использовать указанный прокси.” Только HTTP/1.1
307 Temporary Redirect “Временное перенаправление”. Сервер отправил этот ответ, чтобы клиент получил запрошенный ресурс на другой URL-адрес с тем же методом, который использовал предыдущий запрос. Данный код имеет ту же семантику, что код ответа 302 Found, за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если в первом запросе использовался POST, то во втором запросе также должен использоваться POST. Только HTTP/1.1
308 Permanent Redirect “Перенаправление на постоянной основе”. Это означает, что ресурс теперь постоянно находится в другом URI, указанном в заголовке Location: HTTP Response. Данный код ответа имеет ту же семантику, что и код ответа 301 Moved Permanently, за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если POST использовался в первом запросе, POST должен использоваться и во втором запросе. Примечание: Это экспериментальный код ответа, Спецификация которого в настоящее время находится в черновом виде. draft-reschke-http-status-308
Клиентские
400 Bad Request “Плохой запрос”. Этот ответ означает, что сервер не понимает запрос из-за неверного синтаксиса. HTTP/0.9 и выше
401 Unauthorized “Неавторизованно”. Для получения запрашиваемого ответа нужна аутентификация. Статус похож на статус 403, но,в этом случае, аутентификация возможна. HTTP/0.9 и выше
402 Payment Required “Необходима оплата”. Этот код ответа зарезервирован для будущего использования. Первоначальная цель для создания этого когда была в использовании его для цифровых платёжных систем(на данный момент не используется). HTTP/0.9 и 1.1
403 Forbidden “Запрещено”. У клиента нет прав доступа к содержимому, поэтому сервер отказывается дать надлежащий ответ. HTTP/0.9 и выше
404 Not Found “Не найден”. Сервер не может найти запрашиваемый ресурс. Код этого ответа, наверно, самый известный из-за частоты его появления в вебе. HTTP/0.9 и выше
405 Method Not Allowed “Метод не разрешён”. Сервер знает о запрашиваемом методе, но он был деактивирован и не может быть использован. Два обязательных метода, GET и HEAD, никогда не должны быть деактивированы и не должны возвращать этот код ошибки. Только HTTP/1.1
406 Not Acceptable Этот ответ отсылается, когда веб сервер после выполнения server-driven content negotiation, не нашёл контента, отвечающего критериям, полученным из user agent. Только HTTP/1.1
407 Proxy Authentication Required Этот код ответа аналогичен коду 401, только аутентификация требуется для прокси сервера. Только HTTP/1.1
408 Request Timeout Ответ с таким кодом может прийти, даже без предшествующего запроса. Он означает, что сервер хотел бы отключить это неиспользуемое соединение. Этот метод используется все чаще с тех пор, как некоторые браузеры, вроде Chrome и IE9, стали использовать HTTP механизмы предварительного соединения для ускорения сёрфинга (смотрите баг 634278, будущей реализации этого механизма в Firefox). Также учитывайте, что некоторые серверы прерывают соединения не отправляя подобных сообщений. Только HTTP/1.1
409 Conflict Этот ответ отсылается, когда запрос конфликтует с текущим состоянием сервера. Только HTTP/1.1
410 Gone Этот ответ отсылается, когда запрашиваемый контент удалён с сервера. Только HTTP/1.1
411 Length Required Запрос отклонён, потому что сервер требует указание заголовка 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 запрашиваемый клиентом слишком длинный для того, чтобы сервер смог его обработать Только HTTP/1.1
415 Unsupported Media Type Медиа формат запрашиваемых данных не поддерживается сервером, поэтому запрос отклонён Только HTTP/1.1
416 Requested Range Not Satisfiable Диапазон указанный заголовком запроса Range не может быть выполнен; возможно, он выходит за пределы переданного URI Только HTTP/1.1
417 Expectation Failed Этот код ответа означает, что ожидание, полученное из заголовка запроса Expect, не может быть выполнено сервером. Только HTTP/1.1
418 I’m a Teapot «Шуточный» ответ: сервер отклоняет попытку заварить кофе в чайнике.
421 Misdirected Request Сервер не может дать ответ. Возможно сервер не настроен для комбинации схемы и полномочий, указанных в URI запроса.
422 Unprocessable Content Запрос сформирован правильно, но его невозможно выполнить из-за семантических ошибок. WebDAV
423 Locked Запрашиваемый ресурс заблокирован. WebDAV
424 Failed Dependency Запрос не выполнен из-за проблем в предыдущем запросе. WebDAV
425 Too Early (Экспериментальная возможность) Клиент отправил порцию данных слишком рано, до того как сервер установил безопасное соединение.
426 Upgrade Required Сервер отказывается выполнять запрос с использованием текущего протокола, но может быть готов сделать это после смены протокола на указанный в заголовке ответа Upgrade.
428 Precondition Required Сервер требует, чтобы запрос содержал условия. Этот ответ предназначен для предотвращения проблемы одновременного изменения ресурса несколькими пользователями.
429 Too Many Requests Пользователь отправил слишком много запросов в определённый промежуток времени.
431 Request Header Fields Too Large Сервер не будет обрабатывать запрос, потому что поля заголовка слишком велики. Запрос может быть отправлен повторно после уменьшения размера полей заголовка.
451 Unavailable For Legal Reasons Пользовательский агент запросил ресурс, который не может быть предоставлен по закону, например веб-страницу, подвергнутую цензуре со стороны правительства.
Серверные
500 Internal Server Error “Внутренняя ошибка сервера”. Сервер столкнулся с ситуацией, которую он не знает как обработать. HTTP/0.9 и выше
501 Not Implemented “Не выполнено”. Метод запроса не поддерживается сервером и не может быть обработан. Единственные методы, которые сервера должны поддерживать (и, соответственно, не должны возвращать этот код) - GET и HEAD. HTTP/0.9 и выше
502 Bad Gateway “Плохой шлюз”. Эта ошибка означает что сервер, во время работы в качестве шлюза для получения ответа, нужного для обработки запроса, получил недействительный (недопустимый) ответ. HTTP/0.9 и выше
503 Service Unavailable “Сервис недоступен”. Сервер не готов обрабатывать запрос. Зачастую причинами являются отключение сервера или то, что он перегружен. Обратите внимание, что вместе с этим ответом удобная для пользователей(user-friendly) страница должна отправлять объяснение проблемы. Этот ответ должен использоваться для временных условий и Retry-After: HTTP-заголовок должен, если возможно, содержать предполагаемое время до восстановления сервиса. Веб-мастер также должен позаботиться о заголовках, связанных с кешем, которые отправляются вместе с этим ответом, так как эти ответы, связанные с временными условиями, обычно не должны кешироваться. HTTP/0.9 и выше
504 Gateway Timeout Этот ответ об ошибке предоставляется, когда сервер действует как шлюз и не может получить ответ вовремя. Только HTTP/1.1
505 HTTP Version Not Supported “HTTP-версия не поддерживается”. HTTP-версия, используемая в запросе, не поддерживается сервером. Только HTTP/1.1
506 Variant Also Negotiates На сервере произошла внутренняя ошибка конфигурации: выбранный в процессе согласования вариант ресурса не является подходящим.
507 Insufficient Storage Запрос не выполнен, потому что серверу не удалось сохранить данные. WebDAV
508 Loop Detected Запрос не выполнен, потому что на сервере был обнаружен бесконечный цикл обработки данных. WebDAV
509 Not Extended Для выполнения запроса необходимо его расширить.
511 Network Authentication Required Клиенту необходимо пройти аутентификацию для получения доступа к сети.

Источник

Обновлено: 20.01.2024