fbpx
Перейти к содержимому

Коды ответа HTTP сервера

Код состояния HTTP может указывать на успешность или неуспешность запроса. Код состояния HTTP также может отображать точную причину, по которой запрос не был успешным.

В данной статье приведены основные коды ответа HTTP cервера.

Коды сгруппированы в 5 классов:

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

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

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

2xx — Успешные

  • 200 OK  Запрос успешно обработан. 
  • 201 Created Запрос успешно выполнен и в результате был создан ресурс. 
  • 202 Accepted Запрос принят, но ещё не обработан. Не поддерживаемо, т.е., нет способа с помощью HTTP отправить асинхронный ответ позже, который будет показывать итог обработки запроса. Это предназначено для случаев, когда запрос обрабатывается другим процессом или сервером, либо для пакетной обработки.
  • 203 Non-Authoritative Information Этот код ответа означает, что информация, которая возвращена, была предоставлена не от исходного сервера, а из какого-нибудь другого источника. Во всех остальных ситуациях более предпочтителен код ответа 200 OK.
  • 204 No Content Нет содержимого для ответа на запрос, но заголовки ответа, которые могут быть полезны, присылаются. Клиент может использовать их для обновления кешированных заголовков полученных ранее для этого ресурса.
  • 205 Reset Content  Этот код присылается, когда запрос обработан, чтобы сообщить клиенту, что необходимо сбросить отображение документа, который прислал этот запрос.
  • 206 Partial Content Этот код ответа используется, когда клиент присылает заголовок диапазона, чтобы выполнить загрузку отдельно, в несколько потоков.

3xx — Сообщения о перенаправлениях

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

4xx — Клиентские

  • 400 Bad Request Этот ответ означает, что сервер не понимает запрос из-за неверного синтаксиса.
  • 401 Unauthorized Для получения запрашиваемого ответа нужна аутентификация. Статус похож на статус 403, но,в этом случае, аутентификация возможна.
  • 402 Payment Required Этот код ответа зарезервирован для будущего использования. Первоначальная цель для создания этого когда была в использовании его для цифровых платёжных систем(на данный момент не используется).
  • 403 Forbidden У клиента нет прав доступа к содержимому, поэтому сервер отказывается дать надлежащий ответ.
  • 404 Not Found Сервер не может найти запрашиваемый ресурс. Код этого ответа, наверно, самый известный из-за частоты его появления в вебе.
  • 405 Method Not Allowed Сервер знает о запрашиваемом методе, но он был деактивирован и не может быть использован.
  • 406 Not Acceptable Этот ответ отсылается, когда веб сервер после выполнения server-driven content negotiation, не нашёл контента, отвечающего критериям, полученным из user agent.
  • 407 Proxy Authentication Required Этот код ответа аналогичен коду 401, только аутентификация требуется для прокси сервера.
  • 408 Request Timeout Ответ с таким кодом может прийти, даже без предшествующего запроса. Он означает, что сервер хотел бы отключить это неиспользуемое соединение.
  • 409 Conflict Этот ответ отсылается, когда запрос конфликтует с текущим состоянием сервера.
  • 410 Gone Этот ответ отсылается, когда запрашиваемый контент удалён с сервера.
  • 411 Length Required Запрос отклонён, потому что сервер требует указание заголовка Content-Length, но он не указан.
  • 412 Precondition Failed Клиент указал в своих заголовках условия, которые сервер не может выполнить.
  • 413 Request Entity Too Large Размер запроса превышает лимит, объявленный сервером.
  • 414 Request-URI Too Long URI запрашиваемый клиентом слишком длинный для того, чтобы сервер смог его обработать.
  • 415 Unsupported Media Type Медиа формат запрашиваемых данных не поддерживается сервером, поэтому запрос отклонён.
  • 416 Requested Range Not Satisfiable Диапазон указанный заголовком запроса Range не может быть выполнен; возможно, он выходит за пределы переданного URI
  • 417 Expectation Failed Этот код ответа означает, что ожидание, полученное из заголовка запроса Expect, не может быть выполнено сервером.
  • 418 I’m a teapot Сообщает о том, что сервер не может приготовить кофе, потому что он чайник. Эта ошибка ссылается на Hyper Text Coffee Pot Control Protocol (гипертекстовый протокол кофейников) который был первоапрельской шуткой в 1998 году. У Google есть страница которая отдает 418 код.

5xx — Серверные

  • 500 Internal Server Error Сервер столкнулся с ситуацией, которую он не знает как обработать.
  • 501 Not Implemented Метод запроса не поддерживается сервером и не может быть обработан.
  • 502 Bad Gateway Эта ошибка означает что сервер, во время работы в качестве шлюза для получения ответа, нужного для обработки запроса, получил недействительный (недопустимый) ответ.
  • 503 Service Unavailable Сервер не готов обрабатывать запрос. Зачастую причинами являются отключение сервера или то, что он перегружен. Обратите внимание, что вместе с этим ответом удобная для пользователей(user-friendly) страница должна отправлять объяснение проблемы.
  • 504 Gateway Timeout Этот ответ об ошибке предоставляется, когда сервер действует как шлюз и не может получить ответ вовремя.
  • 505 HTTP Version Not Supported HTTP-версия, используемая в запросе, не поддерживается сервером.