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

  • Информационные: 100–199,
  • Успешные: 200–299,
  • Перенаправления: 300–399,
  • Клиентские ошибки: 400–499,
  • Серверные ошибки: 500–599.

Данное перечисление содержит только часто используемые коды.

Подробнее:

Enumeration members

ACCEPTED

ACCEPTED: = 202

Запрос принят, но ещё не обработан.

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

BAD_GATEWAY

BAD_GATEWAY: = 502

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

BAD_REQUEST

BAD_REQUEST: = 400

Этот ответ означает, что сервер не понимает запрос из-за неверного синтаксиса.

CONFLICT

CONFLICT: = 409

Этот ответ отсылается, когда выполнение запроса конфликтует с текущим состоянием сервера.

CONTINUE

CONTINUE: = 100

Этот промежуточный ответ указывает, что запрос успешно принят, и клиент может продолжать присылать запросы либо проигнорировать этот ответ, если запрос был завершён.

CREATED

CREATED: = 201

Запрос успешно выполнен, и в результате был создан ресурс. Этот код обычно присылается в ответ на запрос PUT.

EXPECTATION_FAILED

EXPECTATION_FAILED: = 417

Этот код ответа означает, что ожидание, полученное из заголовка запроса Expect, не может быть выполнено сервером.

FORBIDDEN

FORBIDDEN: = 403

У клиента нет прав доступа к содержимому, поэтому сервер отказывается удовлетворить запрос.

FOUND

FOUND: = 302

Этот код ответа означает, что запрошенный ресурс временно изменён. В будущем новые изменения могут быть доступны по данному URI. Таким образом, в последующих запросах клиент должен продолжать использовать этот URI.

GATEWAY_TIMEOUT

GATEWAY_TIMEOUT: = 504

Сервер в роли шлюза или прокси-сервера не дождался ответа от вышестоящего сервера для завершения текущего запроса.

GONE

GONE: = 410

Этот ответ отсылается, когда запрашиваемый контент удалён с сервера.

HTTP_VERSION_NOT_SUPPORTED

HTTP_VERSION_NOT_SUPPORTED: = 505

HTTP-версия, используемая в запросе, не поддерживается сервером.

INTERNAL_SERVER_ERROR

INTERNAL_SERVER_ERROR: = 500

Сервер столкнулся с ситуацией, которую он не умеет обрабатывать.

I_AM_A_TEAPOT

I_AM_A_TEAPOT: = 418

This code was defined in 1998 as one of the traditional IETF April Fools' jokes, in RFC 2324, Hyper Text Coffee Pot Control Protocol, and is not expected to be implemented by actual HTTP servers. The RFC specifies this code should be returned by teapots requested to brew coffee. This HTTP status is used as an Easter egg in some websites, including Google.com.

LENGTH_REQUIRED

LENGTH_REQUIRED: = 411

Запрос отклонён, потому что сервер требует указание заголовка Content-Length, но он не указан.

METHOD_NOT_ALLOWED

METHOD_NOT_ALLOWED: = 405

Сервер знает о запрашиваемом методе, но он был деактивирован и не может быть использован. Два обязательных метода, GET и HEAD, никогда не должны быть деактивированы и не должны возвращать этот код ошибки.

MOVED_PERMANENTLY

MOVED_PERMANENTLY: = 301

Этот код ответа означает, что URI запрашиваемого ресурса был изменён. Возможно, новый URI будет предоставлен в ответе.

MULTIPLE_CHOICES

MULTIPLE_CHOICES: = 300

Этот код ответа присылается, когда запрос имеет более чем один возможный ответ, и агент пользователя или пользователь должен выбрать один из ответов. Не существует стандартизированного способа выбора одного из полученных ответов.

NON_AUTHORITATIVE_INFORMATION

NON_AUTHORITATIVE_INFORMATION: = 203

Этот код ответа означает, что информация, которая возвращена, была предоставлена не от исходного сервера, а из какого-либо другого источника. Во всех остальных ситуациях более предпочтителен код ответа 200 OK.

NOT_ACCEPTABLE

NOT_ACCEPTABLE: = 406

Этот ответ используется, когда веб-сервер после выполнения server-driven content negotiation не находит контента, отвечающего критериям, полученным от агента пользователя.

see

https://developer.mozilla.org/en-US/docs/Web/HTTP/Content_negotiation#server-driven_content_negotiation

NOT_FOUND

NOT_FOUND: = 404

Сервер не может найти запрашиваемый ресурс. Код этого ответа, наверное, самый известный из-за частоты его появления в вебе.

NOT_IMPLEMENTED

NOT_IMPLEMENTED: = 501

Метод запроса не поддерживается сервером и не может быть обработан. Если же метод серверу известен, но он неприменим к данному ресурсу, то должен вернуться ответ 405 Method Not Allowed.

NOT_MODIFIED

NOT_MODIFIED: = 304

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

NO_CONTENT

NO_CONTENT: = 204

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

OK

OK: = 200

Запрос успешно обработан. Что означает «успешно» зависит от метода HTTP, который был запрошен:

  • GET: Запрошенный ресурс был найден и передан в теле ответа.
  • HEAD: Заголовки переданы в ответе.
  • POST: Ресурс, описывающий результат действия сервера на запрос, передан в теле ответа.

PARTIAL_CONTENT

PARTIAL_CONTENT: = 206

Этот код ответа используется, когда клиент присылает заголовок диапазона, чтобы выполнить загрузку раздельно, в несколько потоков.

PAYLOAD_TOO_LARGE

PAYLOAD_TOO_LARGE: = 413

Размер запроса превышает лимит, объявленный сервером. Сервер может закрыть соединение, вернув заголовок Retry-After.

PAYMENT_REQUIRED

PAYMENT_REQUIRED: = 402

Этот код ответа зарезервирован для будущего использования. Первоначальная цель для создания этого когда была в использовании его для цифровых платёжных систем (на данный момент не используется).

Некоторые платформы используют этот код в программном API при превышении доступных лимитов.

PERMANENT_REDIRECT

PERMANENT_REDIRECT: = 308

Это означает, что ресурс теперь постоянно находится в другом URL, указанном в заголовке Location: HTTP Response.

Данный код ответа похож на 301 Moved Permanently, за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если в первом запросе использовался POST, то во втором запросе также должен быть использован POST.

PRECONDITION_FAILED

PRECONDITION_FAILED: = 412

Клиент указал в своих заголовках условия, которые сервер не может выполнить.

PRECONDITION_REQUIRED

PRECONDITION_REQUIRED: = 428

Сервер указывает клиенту на необходимость использования в запросе заголовков условий, наподобие If-Match.

PROCESSING

PROCESSING: = 102

Этот код указывает, что сервер получил запрос и обрабатывает его, но обработка ещё не завершена.

PROXY_AUTHENTICATION_REQUIRED

PROXY_AUTHENTICATION_REQUIRED: = 407

Этот код ответа аналогичен коду 401, только аутентификация требуется для прокси-сервера.

RANGE_NOT_SATISFIABLE

RANGE_NOT_SATISFIABLE: = 416

Диапазон, указанный заголовком запроса Range, невозможно предоставить; возможно, он выходит за пределы переданного URI.

REQUEST_HEADER_FIELDS_TOO_LARGE

REQUEST_HEADER_FIELDS_TOO_LARGE: = 431

Сервер не обязан отвечать этим кодом. Вместо этого он может просто сбросить соединение.

REQUEST_TIMEOUT

REQUEST_TIMEOUT: = 408

Ответ с таким кодом может прийти даже без предшествующего запроса. Он означает, что сервер хотел бы отключить это неиспользуемое соединение. Также учитывайте, что некоторые серверы прерывают соединение, не отправляя подобных сообщений.

RESET_CONTENT

RESET_CONTENT: = 205

Этот код присылается после успешной обработки запроса и сообщает клиенту, что необходимо сбросить отображение документа, присланного в ответ на запрос.

SEE_OTHER

SEE_OTHER: = 303

Этот код ответа присылается, чтобы направлять клиента с запросом GET для получения запрашиваемого ресурса в другой URI.

SERVICE_UNAVAILABLE

SERVICE_UNAVAILABLE: = 503

Сервер не готов обработать запрос. Зачастую причинами являются отключение сервера или то, что он перегружен. Обратите внимание, что вместе с этим ответом следует отправлять удобную для пользователя страницу с объяснением проблемы.

Этот ответ должен использоваться для временных состояний. HTTP-заголовок Retry-After должен, если это возможно, содержать предполагаемое время до восстановления нормальной работы.

Веб-мастер также должен позаботиться о заголовках, связанных с кешированием, которые отправляются вместе с этим ответом. Такие ответы, указывающие на временное состояние сервера, обычно не должны кешироваться.

SWITCHING_PROTOCOLS

SWITCHING_PROTOCOLS: = 101

Этот код присылается в ответ на запрос клиента, содержащий заголовок Upgrade:, и указывает, что сервер переключился на протокол, который был указан в заголовке.

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

TEMPORARY_REDIRECT

TEMPORARY_REDIRECT: = 307

Сервер отправил этот ответ, чтобы клиент получил запрошенный ресурс на другой URL-адрес с тем же методом, который использовал предыдущий запрос.

Данный код ответа похож на 302 Found, за исключением того, что в 307 Temporary Redirect агент пользователя не должен изменять используемый метод HTTP: если в первом запросе использовался POST, то во втором запросе также должен быть использован POST.

TOO_MANY_REQUESTS

TOO_MANY_REQUESTS: = 429

Клиент попытался отправить слишком много запросов за короткое время, что может указывать, например, на попытку DDoS-атаки. Может сопровождаться заголовком Retry-After, указывающим, через какое время можно повторить запрос.

UNAUTHORIZED

UNAUTHORIZED: = 401

Для получения запрашиваемого ответа нужна аутентификация. Статус похож на статус 403, но,в этом случае, аутентификация возможна.

UNAVAILABLE_FOR_LEGAL_REASONS

UNAVAILABLE_FOR_LEGAL_REASONS: = 451

Доступ к ресурсу закрыт по юридическим причинам, например, по требованию органов государственной власти или по требованию правообладателя в случае нарушения авторских прав.

Код ошибки является отсылкой к роману Рэя Брэдбери «451 градус по Фаренгейту».

UNSUPPORTED_MEDIA_TYPE

UNSUPPORTED_MEDIA_TYPE: = 415

Формат запрашиваемых данных не поддерживается сервером, поэтому запрос отклонён.

URI_TOO_LONG

URI_TOO_LONG: = 414

URI, запрашиваемый клиентом, слишком длинный для того, чтобы сервер смог его обработать.