Все статус коды ответа сервера

Опубликовано: 01.07.2020 в 18:27

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

  1. Информационные 100 — 199
  2. Успешные 200 — 299
  3. Переадресация 300 — 399
  4. Клиентские ошибки 400 — 499
  5. Серверные ошибки 500 — 599

Коды состояния определены в 10-ой секции RFC 2616. Обновленную спецификацию можно найти в RFC 7231 . 



1xx — Информационные

100Continue«Продолжить». Этот промежуточный ответ указывает, что запрос успешно принят и клиент может продолжать присылать запросы либо проигнорировать этот ответ, если запрос был завершён.Только HTTP/1.1
101Switching Protocol«Переключение протокола». Этот код присылается в ответ на запрос клиента, содержащий заголовок Upgrade:, и указывает, что сервер переключился на протокол, который был указан в заголовке. Эта возможность позволяет перейти на несовместимую версию протокола и обычно не используется.Только HTTP/1.1
102Processing«В обработке». Этот код указывает, что сервер получил запрос и обрабатывает его, но обработка еще не завершена.Только HTTP/1.1
103Early Hints«Ранние подсказки». В ответе сообщаются ресурсы, которые могут быть загружены заранее, пока сервер будет подготавливать основной ответ.Только HTTP/1.1

2хх — Успешные

200OK«Успешно». Запрос успешно обработан. Что значит «успешно», зависит от метода HTTP, который был запрошен:GET: «ПОЛУЧИТЬ». Запрошенный ресурс был найден и передан в теле ответа.HEAD: «ЗАГОЛОВОК». Заголовки переданы в ответе.POST: «ПОСЫЛКА». Ресурс, описывающий результат действия сервера на запрос, передан в теле ответа.TRACE: «ОТСЛЕЖИВАТЬ». Тело ответа содержит тело запроса полученного сервером.HTTP/0.9 и выше
201Created«Создано». Запрос успешно выполнен и в результате был создан ресурс. Этот код обычно присылается в ответ на запрос PUT «ПОМЕСТИТЬ».HTTP/0.9 и выше
202Accepted«Принято». Запрос принят, но ещё не обработан. Не поддерживаемо, т.е., нет способа с помощью HTTP отправить асинхронный ответ позже, который будет показывать итог обработки запроса. Это предназначено для случаев, когда запрос обрабатывается другим процессом или сервером, либо для пакетной обработки.HTTP/0.9 и выше
203Non-Authoritative Information«Информация не авторитетна». Этот код ответа означает, что информация, которая возвращена, была предоставлена не от исходного сервера, а из какого-нибудь другого источника. Во всех остальных ситуациях более предпочтителен код ответа 200 OK.HTTP/0.9 и 1.1
204No Content«Нет содержимого». Нет содержимого для ответа на запрос, но заголовки ответа, которые могут быть полезны, присылаются. Клиент может использовать их для обновления кешированных заголовков полученных ранее для этого ресурса.HTTP/0.9 и выше
205Reset Content«Сбросить содержимое». Этот код присылается, когда запрос обработан, чтобы сообщить клиенту, что необходимо сбросить отображение документа, который прислал этот запрос.Только HTTP/1.1
206Partial Content«Частичное содержимое». Этот код ответа используется, когда клиент присылает заголовок диапазона, чтобы выполнить загрузку отдельно, в несколько потоков.Только HTTP/1.1

3хх — Переадресация 

300Multiple Choice«Множественный выбор». Этот код ответа присылается, когда запрос имеет более чем один из возможных ответов. И User-agent или пользователь должен выбрать один из ответов. Не существует стандартизированного способа выбора одного из полученных ответов.HTTP/1.0 и выше
301Moved Permanently«Перемещён на постоянной основе». Этот код ответа значит, что URI запрашиваемого ресурса был изменен. Возможно, новый URI будет предоставлен в ответе.HTTP/0.9 и выше
302Found«Найдено». Этот код ответа значит, что запрошенный ресурс временно изменен. Новые изменения в URI могут быть доступны в будущем. Таким образом, этот URI, должен быть использован клиентом в будущих запросах.HTTP/0.9 и выше
303See Other«Просмотр других ресурсов». Этот код ответа присылается, чтобы направлять клиента для получения запрашиваемого ресурса в другой URI с запросом GET.HTTP/0.9 и 1.1
304Not Modified«Не модифицировано». Используется для кэширования. Это код ответа значит, что запрошенный ресурс не был изменен. Таким образом, клиент может продолжать использовать кэшированную версию ответа.HTTP/0.9 и выше
305Use Proxy«Использовать прокси». Это означает, что запрошенный ресурс должен быть доступен через прокси. Этот код ответа в основном не поддерживается из соображений безопасности.Только HTTP/1.1
306Switch ProxyБольше не использовать. Изначально подразумевалось, что » последующие запросы должны использовать указанный прокси.»Только HTTP/1.1
307Temporary Redirect«Временное перенаправление». Сервер отправил этот ответ, чтобы клиент получил запрошенный ресурс на другой URL-адрес с тем же методом, который использовал предыдущий запрос. Данный код имеет ту же семантику, что код ответа 302 Found, за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если в первом запросе использовался POST, то во втором запросе также должен использоваться POST.Только HTTP/1.1
308Permanent Redirect«Перенаправление на постоянной основе». Это означает, что ресурс теперь постоянно находится в другом URI, указанном в заголовке Location: HTTP Response. Данный код ответа имеет ту же семантику, что и код ответа 301 Moved Permanently, за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если POST использовался в первом запросе, POST должен использоваться и во втором запросе. Примечание: Это экспериментальный код ответа, спецификация которого в настоящее время находится в черновом виде.draft-reschke-http-status-308

4хх — Клиентские ошибки

400Bad Request«Плохой запрос». Этот ответ означает, что сервер не понимает запрос из-за неверного синтаксиса. HTTP/0.9 и выше
401Unauthorized«Неавторизовано». Для получения запрашиваемого ответа нужна аутентификация. Статус похож на статус 403, но,в этом случае, аутентификация возможна. HTTP/0.9 и выше
402Payment Required«Необходима оплата». Этот код ответа зарезервирован для будущего использования. Первоначальная цель для создания этого когда была в использовании его для цифровых платежных систем(на данный момент не используется).HTTP/0.9 и 1.1
403Forbidden«Запрещено». У клиента нет прав доступа к содержимому, поэтому сервер отказывается дать надлежащий ответ. HTTP/0.9 и выше
404Not Found«Не найден». Сервер не может найти запрашиваемый ресурс. Код этого ответа, наверно, самый известный из-за частоты его появления в вебе. HTTP/0.9 и выше
405Method Not Allowed«Метод не разрешен». Сервер знает о запрашиваемом методе, но он был деактивирован и не может быть использован. Два обязательных метода,  GET и HEAD,  никогда не должны быть деактивированы и не должны возвращать этот код ошибки.Только HTTP/1.1
406Not AcceptableЭтот ответ отсылается, когда веб сервер после выполнения server-driven content negotiation, не нашел контента, отвечающего критериям, полученным из user agent.Только HTTP/1.1
407Proxy Authentication RequiredЭтот код ответа аналогичен коду 401, только аутентификация требуется для прокси сервера.Только HTTP/1.1
408Request TimeoutОтвет с таким кодом может прийти, даже без предшествующего запроса. Он означает, что сервер хотел бы отключить это неиспользуемое соеднинение. Этот метод используется все чаще с тех пор, как некоторые браузеры, вроде Chrome и IE9, стали использовать HTTP механизмы предварительного соединения для ускорения серфинга  (смотрите баг 634278, будущей реализации этого механизма в Firefox). Также учитывайте, что некоторые серверы прерывают соединения не отправляя подобных сообщений.Только HTTP/1.1
409ConflictЭтот ответ отсылается, когда запрос конфликтует с текущим состоянием сервера.Только HTTP/1.1
410GoneЭтот ответ отсылается, когда запрашиваемый контент удален с сервера.Только HTTP/1.1
411Length RequiredЗапрос отклонен, потому что сервер требует указание заголовка Content-Length, но он не указан.Только HTTP/1.1
412Precondition FailedКлиент указал в своих заголовках условия, которые сервер не может выполнитьТолько HTTP/1.1
413Request Entity Too LargeРазмер запроса превышает лимит, объявленный сервером. Сервер может закрыть соединение, вернув заголовок Retry-AfterТолько HTTP/1.1
414Request-URI Too LongURI запрашиваемый клиентом слишком длинный для того, чтобы сервер смог его обработатьТолько HTTP/1.1
415Unsupported Media TypeМедиа формат запрашиваемых данных не поддерживается сервером, поэтому запрос отклоненТолько HTTP/1.1
416Requested Range Not SatisfiableДиапозон указанный заголовком запроса Range не может быть выполнен; возможно, он выходит за пределы переданного URIТолько HTTP/1.1
417Expectation FailedЭтот код ответа означает, что ожидание, полученное из заголовка запроса Expect, не может быть выполнено сервером.Только HTTP/1.1

5хх — Серверные ошибки

500Internal Server Error«Внутренняя ошибка сервера». Сервер столкнулся с ситуацией, которую он не знает как обработать. HTTP/0.9 и выше
501Not Implemented«Не выполнено». Метод запроса не поддерживается сервером и не может быть обработан. Единственные методы, которые сервера должны поддерживать (и, соответственно, не должны возвращать этот код) —  GET и HEAD.HTTP/0.9 и выше
502Bad Gateway«Плохой шлюз». Эта ошибка означает что сервер, во время работы в качестве шлюза для получения ответа, нужного для обработки запроса, получил недействительный (недопустимый) ответ. HTTP/0.9 и выше
503Service Unavailable«Сервис недоступен». Сервер не готов обрабатывать запрос. Зачастую причинами являются отключение сервера или то, что он перегружен. Обратите внимание, что вместе с этим ответом удобная для пользователей(user-friendly) страница должна отправлять объяснение проблемы.  Этот ответ должен использоваться для временных условий и Retry-After: HTTP-заголовок должен, если возможно, содержать  предполагаемое время до восстановления сервиса. Веб-мастер также должен позаботиться о заголовках, связанных с кэшем, которые отправляются вместе с этим ответом, так как эти ответы, связанные с временными условиями, обычно не должны кэшироваться. HTTP/0.9 и выше
504Gateway TimeoutЭтот ответ об ошибке предоставляется, когда сервер действует как шлюз и не может получить ответ вовремя.Только HTTP/1.1
505HTTP Version Not Supported«HTTP-версия не поддерживается». HTTP-версия, используемая в запроcе, не поддерживается сервером.Только HTTP/1.1