Коды ответов 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