Меню

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 Сообщения о перенаправлениях 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 Серверные 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

Page semi-protected

From Wikipedia, the free encyclopedia

(Redirected from 449 Retry With)

This is a list of Hypertext Transfer Protocol (HTTP) response status codes. Status codes are issued by a server in response to a client’s request made to the server. It includes codes from IETF Request for Comments (RFCs), other specifications, and some additional codes used in some common applications of the HTTP. The first digit of the status code specifies one of five standard classes of responses. The optional message phrases shown are typical, but any human-readable alternative may be provided, or none at all.

Unless otherwise stated, the status code is part of the HTTP standard (RFC 9110).

The Internet Assigned Numbers Authority (IANA) maintains the official registry of HTTP status codes.[1]

All HTTP response status codes are separated into five classes or categories. The first digit of the status code defines the class of response, while the last two digits do not have any classifying or categorization role. There are five classes defined by the standard:

  • 1xx informational response – the request was received, continuing process
  • 2xx successful – the request was successfully received, understood, and accepted
  • 3xx redirection – further action needs to be taken in order to complete the request
  • 4xx client error – the request contains bad syntax or cannot be fulfilled
  • 5xx server error – the server failed to fulfil an apparently valid request

1xx informational response

An informational response indicates that the request was received and understood. It is issued on a provisional basis while request processing continues. It alerts the client to wait for a final response. The message consists only of the status line and optional header fields, and is terminated by an empty line. As the HTTP/1.0 standard did not define any 1xx status codes, servers must not[note 1] send a 1xx response to an HTTP/1.0 compliant client except under experimental conditions.

100 Continue
The server has received the request headers and the client should proceed to send the request body (in the case of a request for which a body needs to be sent; for example, a POST request). Sending a large request body to a server after a request has been rejected for inappropriate headers would be inefficient. To have a server check the request’s headers, a client must send Expect: 100-continue as a header in its initial request and receive a 100 Continue status code in response before sending the body. If the client receives an error code such as 403 (Forbidden) or 405 (Method Not Allowed) then it should not send the request’s body. The response 417 Expectation Failed indicates that the request should be repeated without the Expect header as it indicates that the server does not support expectations (this is the case, for example, of HTTP/1.0 servers).[2]
101 Switching Protocols
The requester has asked the server to switch protocols and the server has agreed to do so.
102 Processing (WebDAV; RFC 2518)
A WebDAV request may contain many sub-requests involving file operations, requiring a long time to complete the request. This code indicates that the server has received and is processing the request, but no response is available yet.[3] This prevents the client from timing out and assuming the request was lost.
103 Early Hints (RFC 8297)
Used to return some response headers before final HTTP message.[4]

2xx success

This class of status codes indicates the action requested by the client was received, understood, and accepted.[1]

200 OK
Standard response for successful HTTP requests. The actual response will depend on the request method used. In a GET request, the response will contain an entity corresponding to the requested resource. In a POST request, the response will contain an entity describing or containing the result of the action.
201 Created
The request has been fulfilled, resulting in the creation of a new resource.[5]
202 Accepted
The request has been accepted for processing, but the processing has not been completed. The request might or might not be eventually acted upon, and may be disallowed when processing occurs.
203 Non-Authoritative Information (since HTTP/1.1)
The server is a transforming proxy (e.g. a Web accelerator) that received a 200 OK from its origin, but is returning a modified version of the origin’s response.[6][7]
204 No Content
The server successfully processed the request, and is not returning any content.
205 Reset Content
The server successfully processed the request, asks that the requester reset its document view, and is not returning any content.
206 Partial Content
The server is delivering only part of the resource (byte serving) due to a range header sent by the client. The range header is used by HTTP clients to enable resuming of interrupted downloads, or split a download into multiple simultaneous streams.
207 Multi-Status (WebDAV; RFC 4918)
The message body that follows is by default an XML message and can contain a number of separate response codes, depending on how many sub-requests were made.[8]
208 Already Reported (WebDAV; RFC 5842)
The members of a DAV binding have already been enumerated in a preceding part of the (multistatus) response, and are not being included again.
226 IM Used (RFC 3229)
The server has fulfilled a request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.[9]

3xx redirection

This class of status code indicates the client must take additional action to complete the request. Many of these status codes are used in URL redirection.[1]

A user agent may carry out the additional action with no user interaction only if the method used in the second request is GET or HEAD. A user agent may automatically redirect a request. A user agent should detect and intervene to prevent cyclical redirects.[10]

300 Multiple Choices
Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation). For example, this code could be used to present multiple video format options, to list files with different filename extensions, or to suggest word-sense disambiguation.
301 Moved Permanently
This and all future requests should be directed to the given URI.
302 Found (Previously «Moved temporarily»)
Tells the client to look at (browse to) another URL. The HTTP/1.0 specification (RFC 1945) required the client to perform a temporary redirect with the same method (the original describing phrase was «Moved Temporarily»),[11] but popular browsers implemented 302 redirects by changing the method to GET. Therefore, HTTP/1.1 added status codes 303 and 307 to distinguish between the two behaviours.[10]
303 See Other (since HTTP/1.1)
The response to the request can be found under another URI using the GET method. When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI.
304 Not Modified
Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match. In such case, there is no need to retransmit the resource since the client still has a previously-downloaded copy.
305 Use Proxy (since HTTP/1.1)
The requested resource is available only through a proxy, the address for which is provided in the response. For security reasons, many HTTP clients (such as Mozilla Firefox and Internet Explorer) do not obey this status code.
306 Switch Proxy
No longer used. Originally meant «Subsequent requests should use the specified proxy.»
307 Temporary Redirect (since HTTP/1.1)
In this case, the request should be repeated with another URI; however, future requests should still use the original URI. In contrast to how 302 was historically implemented, the request method is not allowed to be changed when reissuing the original request. For example, a POST request should be repeated using another POST request.
308 Permanent Redirect
This and all future requests should be directed to the given URI. 308 parallel the behaviour of 301, but does not allow the HTTP method to change. So, for example, submitting a form to a permanently redirected resource may continue smoothly.

4xx client errors

A The Wikimedia 404 message

This class of status code is intended for situations in which the error seems to have been caused by the client. Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user.

400 Bad Request
The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing).
401 Unauthorized
Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided. The response must include a WWW-Authenticate header field containing a challenge applicable to the requested resource. See Basic access authentication and Digest access authentication. 401 semantically means «unauthorised», the user does not have valid authentication credentials for the target resource.
Some sites incorrectly issue HTTP 401 when an IP address is banned from the website (usually the website domain) and that specific address is refused permission to access a website.[citation needed]
402 Payment Required
Reserved for future use. The original intention was that this code might be used as part of some form of digital cash or micropayment scheme, as proposed, for example, by GNU Taler,[13] but that has not yet happened, and this code is not widely used. Google Developers API uses this status if a particular developer has exceeded the daily limit on requests.[14] Sipgate uses this code if an account does not have sufficient funds to start a call.[15] Shopify uses this code when the store has not paid their fees and is temporarily disabled.[16] Stripe uses this code for failed payments where parameters were correct, for example blocked fraudulent payments.[17]
403 Forbidden
The request contained valid data and was understood by the server, but the server is refusing action. This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed). This code is also typically used if the request provided authentication by answering the WWW-Authenticate header field challenge, but the server did not accept that authentication. The request should not be repeated.
404 Not Found
The requested resource could not be found but may be available in the future. Subsequent requests by the client are permissible.
405 Method Not Allowed
A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource.
406 Not Acceptable
The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request. See Content negotiation.
407 Proxy Authentication Required
The client must first authenticate itself with the proxy.
408 Request Timeout
The server timed out waiting for the request. According to HTTP specifications: «The client did not produce a request within the time that the server was prepared to wait. The client MAY repeat the request without modifications at any later time.»
409 Conflict
Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates.
410 Gone
Indicates that the resource requested was previously in use but is no longer available and will not be available again. This should be used when a resource has been intentionally removed and the resource should be purged. Upon receiving a 410 status code, the client should not request the resource in the future. Clients such as search engines should remove the resource from their indices. Most use cases do not require clients and search engines to purge the resource, and a «404 Not Found» may be used instead.
411 Length Required
The request did not specify the length of its content, which is required by the requested resource.
412 Precondition Failed
The server does not meet one of the preconditions that the requester put on the request header fields.
413 Payload Too Large
The request is larger than the server is willing or able to process. Previously called «Request Entity Too Large» in RFC 2616.[18]
414 URI Too Long
The URI provided was too long for the server to process. Often the result of too much data being encoded as a query-string of a GET request, in which case it should be converted to a POST request. Called «Request-URI Too Long» previously in RFC 2616.[19]
415 Unsupported Media Type
The request entity has a media type which the server or resource does not support. For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format.
416 Range Not Satisfiable
The client has asked for a portion of the file (byte serving), but the server cannot supply that portion. For example, if the client asked for a part of the file that lies beyond the end of the file. Called «Requested Range Not Satisfiable» previously RFC 2616.[20]
417 Expectation Failed
The server cannot meet the requirements of the Expect request-header field.[21]
418 I’m a teapot (RFC 2324, RFC 7168)
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.[22] This HTTP status is used as an Easter egg in some websites, such as Google.com’s «I’m a teapot» easter egg.[23][24][25] Sometimes, this status code is also used as a response to a blocked request, instead of the more appropriate 403 Forbidden.[26][27]
421 Misdirected Request
The request was directed at a server that is not able to produce a response (for example because of connection reuse).
422 Unprocessable Entity
The request was well-formed but was unable to be followed due to semantic errors.[8]
423 Locked (WebDAV; RFC 4918)
The resource that is being accessed is locked.[8]
424 Failed Dependency (WebDAV; RFC 4918)
The request failed because it depended on another request and that request failed (e.g., a PROPPATCH).[8]
425 Too Early (RFC 8470)
Indicates that the server is unwilling to risk processing a request that might be replayed.
426 Upgrade Required
The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field.
428 Precondition Required (RFC 6585)
The origin server requires the request to be conditional. Intended to prevent the ‘lost update’ problem, where a client GETs a resource’s state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict.[28]
429 Too Many Requests (RFC 6585)
The user has sent too many requests in a given amount of time. Intended for use with rate-limiting schemes.[28]
431 Request Header Fields Too Large (RFC 6585)
The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large.[28]
451 Unavailable For Legal Reasons (RFC 7725)
A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource.[29] The code 451 was chosen as a reference to the novel Fahrenheit 451 (see the Acknowledgements in the RFC).

5xx server errors

The server failed to fulfil a request.

Response status codes beginning with the digit «5» indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method.

500 Internal Server Error
A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.
501 Not Implemented
The server either does not recognize the request method, or it lacks the ability to fulfil the request. Usually this implies future availability (e.g., a new feature of a web-service API).
502 Bad Gateway
The server was acting as a gateway or proxy and received an invalid response from the upstream server.
503 Service Unavailable
The server cannot handle the request (because it is overloaded or down for maintenance). Generally, this is a temporary state.[30]
504 Gateway Timeout
The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.
505 HTTP Version Not Supported
The server does not support the HTTP version used in the request.
506 Variant Also Negotiates (RFC 2295)
Transparent content negotiation for the request results in a circular reference.[31]
507 Insufficient Storage (WebDAV; RFC 4918)
The server is unable to store the representation needed to complete the request.[8]
508 Loop Detected (WebDAV; RFC 5842)
The server detected an infinite loop while processing the request (sent instead of 208 Already Reported).
510 Not Extended (RFC 2774)
Further extensions to the request are required for the server to fulfill it.[32]
511 Network Authentication Required (RFC 6585)
The client needs to authenticate to gain network access. Intended for use by intercepting proxies used to control access to the network (e.g., «captive portals» used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot).[28]

Unofficial codes

The following codes are not specified by any standard.

419 Page Expired (Laravel Framework)
Used by the Laravel Framework when a CSRF Token is missing or expired.
420 Method Failure (Spring Framework)
A deprecated response used by the Spring Framework when a method has failed.[33]
420 Enhance Your Calm (Twitter)
Returned by version 1 of the Twitter Search and Trends API when the client is being rate limited; versions 1.1 and later use the 429 Too Many Requests response code instead.[34] The phrase «Enhance your calm» comes from the 1993 movie Demolition Man, and its association with this number is likely a reference to cannabis.[citation needed]
430 Request Header Fields Too Large (Shopify)
Used by Shopify, instead of the 429 Too Many Requests response code, when too many URLs are requested within a certain time frame.[35]
450 Blocked by Windows Parental Controls (Microsoft)
The Microsoft extension code indicated when Windows Parental Controls are turned on and are blocking access to the requested webpage.[36]
498 Invalid Token (Esri)
Returned by ArcGIS for Server. Code 498 indicates an expired or otherwise invalid token.[37]
499 Token Required (Esri)
Returned by ArcGIS for Server. Code 499 indicates that a token is required but was not submitted.[37]
509 Bandwidth Limit Exceeded (Apache Web Server/cPanel)
The server has exceeded the bandwidth specified by the server administrator; this is often used by shared hosting providers to limit the bandwidth of customers.[38]
529 Site is overloaded
Used by Qualys in the SSLLabs server testing API to signal that the site can’t process the request.[39]
530 Site is frozen
Used by the Pantheon web platform to indicate a site that has been frozen due to inactivity.[40]
598 (Informal convention) Network read timeout error
Used by some HTTP proxies to signal a network read timeout behind the proxy to a client in front of the proxy.[41]
599 Network Connect Timeout Error
An error used by some HTTP proxies to signal a network connect timeout behind the proxy to a client in front of the proxy.

Internet Information Services

Microsoft’s Internet Information Services (IIS) web server expands the 4xx error space to signal errors with the client’s request.

440 Login Time-out
The client’s session has expired and must log in again.[42]
449 Retry With
The server cannot honour the request because the user has not provided the required information.[43]
451 Redirect
Used in Exchange ActiveSync when either a more efficient server is available or the server cannot access the users’ mailbox.[44] The client is expected to re-run the HTTP AutoDiscover operation to find a more appropriate server.[45]

IIS sometimes uses additional decimal sub-codes for more specific information,[46] however these sub-codes only appear in the response payload and in documentation, not in the place of an actual HTTP status code.

nginx

The nginx web server software expands the 4xx error space to signal issues with the client’s request.[47][48]

444 No Response
Used internally[49] to instruct the server to return no information to the client and close the connection immediately.
494 Request header too large
Client sent too large request or too long header line.
495 SSL Certificate Error
An expansion of the 400 Bad Request response code, used when the client has provided an invalid client certificate.
496 SSL Certificate Required
An expansion of the 400 Bad Request response code, used when a client certificate is required but not provided.
497 HTTP Request Sent to HTTPS Port
An expansion of the 400 Bad Request response code, used when the client has made a HTTP request to a port listening for HTTPS requests.
499 Client Closed Request
Used when the client has closed the request before the server could send a response.

Cloudflare

Cloudflare’s reverse proxy service expands the 5xx series of errors space to signal issues with the origin server.[50]

520 Web Server Returned an Unknown Error
The origin server returned an empty, unknown, or unexpected response to Cloudflare.[51]
521 Web Server Is Down
The origin server refused connections from Cloudflare. Security solutions at the origin may be blocking legitimate connections from certain Cloudflare IP addresses.
522 Connection Timed Out
Cloudflare timed out contacting the origin server.
523 Origin Is Unreachable
Cloudflare could not reach the origin server; for example, if the DNS records for the origin server are incorrect or missing.
524 A Timeout Occurred
Cloudflare was able to complete a TCP connection to the origin server, but did not receive a timely HTTP response.
525 SSL Handshake Failed
Cloudflare could not negotiate a SSL/TLS handshake with the origin server.
526 Invalid SSL Certificate
Cloudflare could not validate the SSL certificate on the origin web server. Also used by Cloud Foundry’s gorouter.
527 Railgun Error
Error 527 indicates an interrupted connection between Cloudflare and the origin server’s Railgun server.[52]
530
Error 530 is returned along with a 1xxx error.[53]

AWS Elastic Load Balancer

Amazon’s Elastic Load Balancing adds a few custom return codes

460
Client closed the connection with the load balancer before the idle timeout period elapsed. Typically when client timeout is sooner than the Elastic Load Balancer’s timeout.[54]
463
The load balancer received an X-Forwarded-For request header with more than 30 IP addresses.[54]
561 Unauthorized
An error around authentication returned by a server registered with a load balancer. You configured a listener rule to authenticate users, but the identity provider (IdP) returned an error code when authenticating the user.[55]

Caching warning codes (obsoleted)

The following caching related warning codes were specified under RFC 7234. Unlike the other status codes above, these were not sent as the response status in the HTTP protocol, but as part of the «Warning» HTTP header.[56][57]

Since this «Warning» header is often neither sent by servers nor acknowledged by clients, this header and its codes were obsoleted by the HTTP Working Group in 2022 with RFC 9111.[58]

110 Response is Stale
The response provided by a cache is stale (the content’s age exceeds a maximum age set by a Cache-Control header or heuristically chosen lifetime).
111 Revalidation Failed
The cache was unable to validate the response, due to an inability to reach the origin server.
112 Disconnected Operation
The cache is intentionally disconnected from the rest of the network.
113 Heuristic Expiration
The cache heuristically chose a freshness lifetime greater than 24 hours and the response’s age is greater than 24 hours.
199 Miscellaneous Warning
Arbitrary, non-specific warning. The warning text may be logged or presented to the user.
214 Transformation Applied
Added by a proxy if it applies any transformation to the representation, such as changing the content encoding, media type or the like.
299 Miscellaneous Persistent Warning
Same as 199, but indicating a persistent warning.

See also

  • Custom error pages
  • List of FTP server return codes
  • List of HTTP header fields
  • List of SMTP server return codes
  • Common Log Format

Explanatory notes

  1. ^ Emphasised words and phrases such as must and should represent interpretation guidelines as given by RFC 2119

References

  1. ^ a b c «Hypertext Transfer Protocol (HTTP) Status Code Registry». Iana.org. Archived from the original on December 11, 2011. Retrieved January 8, 2015.
  2. ^ «RFC 9110: HTTP Semantics and Content, Section 10.1.1 «Expect»«.
  3. ^ Goland, Yaronn; Whitehead, Jim; Faizi, Asad; Carter, Steve R.; Jensen, Del (February 1999). HTTP Extensions for Distributed Authoring – WEBDAV. IETF. doi:10.17487/RFC2518. RFC 2518. Retrieved October 24, 2009.
  4. ^ Oku, Kazuho (December 2017). An HTTP Status Code for Indicating Hints. IETF. doi:10.17487/RFC8297. RFC 8297. Retrieved December 20, 2017.
  5. ^ Stewart, Mark; djna. «Create request with POST, which response codes 200 or 201 and content». Stack Overflow. Archived from the original on October 11, 2016. Retrieved October 16, 2015.
  6. ^ «RFC 9110: HTTP Semantics and Content, Section 15.3.4».
  7. ^ «RFC 9110: HTTP Semantics and Content, Section 7.7».
  8. ^ a b c d e Dusseault, Lisa, ed. (June 2007). HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV). IETF. doi:10.17487/RFC4918. RFC 4918. Retrieved October 24, 2009.
  9. ^ Delta encoding in HTTP. IETF. January 2002. doi:10.17487/RFC3229. RFC 3229. Retrieved February 25, 2011.
  10. ^ a b «RFC 9110: HTTP Semantics and Content, Section 15.4 «Redirection 3xx»«.
  11. ^ Berners-Lee, Tim; Fielding, Roy T.; Nielsen, Henrik Frystyk (May 1996). Hypertext Transfer Protocol – HTTP/1.0. IETF. doi:10.17487/RFC1945. RFC 1945. Retrieved October 24, 2009.
  12. ^ «The GNU Taler tutorial for PHP Web shop developers 0.4.0». docs.taler.net. Archived from the original on November 8, 2017. Retrieved October 29, 2017.
  13. ^ «Google API Standard Error Responses». 2016. Archived from the original on May 25, 2017. Retrieved June 21, 2017.
  14. ^ «Sipgate API Documentation». Archived from the original on July 10, 2018. Retrieved July 10, 2018.
  15. ^ «Shopify Documentation». Archived from the original on July 25, 2018. Retrieved July 25, 2018.
  16. ^ «Stripe API Reference – Errors». stripe.com. Retrieved October 28, 2019.
  17. ^ «RFC2616 on status 413». Tools.ietf.org. Archived from the original on March 7, 2011. Retrieved November 11, 2015.
  18. ^ «RFC2616 on status 414». Tools.ietf.org. Archived from the original on March 7, 2011. Retrieved November 11, 2015.
  19. ^ «RFC2616 on status 416». Tools.ietf.org. Archived from the original on March 7, 2011. Retrieved November 11, 2015.
  20. ^ TheDeadLike. «HTTP/1.1 Status Codes 400 and 417, cannot choose which». serverFault. Archived from the original on October 10, 2015. Retrieved October 16, 2015.
  21. ^ Larry Masinter (April 1, 1998). Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0). doi:10.17487/RFC2324. RFC 2324. Any attempt to brew coffee with a teapot should result in the error code «418 I’m a teapot». The resulting entity body MAY be short and stout.
  22. ^ I’m a teapot
  23. ^ Barry Schwartz (August 26, 2014). «New Google Easter Egg For SEO Geeks: Server Status 418, I’m A Teapot». Search Engine Land. Archived from the original on November 15, 2015. Retrieved November 4, 2015.
  24. ^ «Google’s Teapot». Retrieved October 23, 2017.[dead link]
  25. ^ «Enable extra web security on a website». DreamHost. Retrieved December 18, 2022.
  26. ^ «I Went to a Russian Website and All I Got Was This Lousy Teapot». PCMag. Retrieved December 18, 2022.
  27. ^ a b c d Nottingham, M.; Fielding, R. (April 2012). «RFC 6585 – Additional HTTP Status Codes». Request for Comments. Internet Engineering Task Force. Archived from the original on May 4, 2012. Retrieved May 1, 2012.
  28. ^ Bray, T. (February 2016). «An HTTP Status Code to Report Legal Obstacles». ietf.org. Archived from the original on March 4, 2016. Retrieved March 7, 2015.
  29. ^ alex. «What is the correct HTTP status code to send when a site is down for maintenance?». Stack Overflow. Archived from the original on October 11, 2016. Retrieved October 16, 2015.
  30. ^ Holtman, Koen; Mutz, Andrew H. (March 1998). Transparent Content Negotiation in HTTP. IETF. doi:10.17487/RFC2295. RFC 2295. Retrieved October 24, 2009.
  31. ^ Nielsen, Henrik Frystyk; Leach, Paul; Lawrence, Scott (February 2000). An HTTP Extension Framework. IETF. doi:10.17487/RFC2774. RFC 2774. Retrieved October 24, 2009.
  32. ^ «Enum HttpStatus». Spring Framework. org.springframework.http. Archived from the original on October 25, 2015. Retrieved October 16, 2015.
  33. ^ «Twitter Error Codes & Responses». Twitter. 2014. Archived from the original on September 27, 2017. Retrieved January 20, 2014.
  34. ^ «HTTP Status Codes and SEO: what you need to know». ContentKing. Retrieved August 9, 2019.
  35. ^ «Screenshot of error page». Archived from the original (bmp) on May 11, 2013. Retrieved October 11, 2009.
  36. ^ a b «Using token-based authentication». ArcGIS Server SOAP SDK. Archived from the original on September 26, 2014. Retrieved September 8, 2014.
  37. ^ «HTTP Error Codes and Quick Fixes». Docs.cpanel.net. Archived from the original on November 23, 2015. Retrieved October 15, 2015.
  38. ^ «SSL Labs API v3 Documentation». github.com.
  39. ^ «Platform Considerations | Pantheon Docs». pantheon.io. Archived from the original on January 6, 2017. Retrieved January 5, 2017.
  40. ^ «HTTP status codes — ascii-code.com». www.ascii-code.com. Archived from the original on January 7, 2017. Retrieved December 23, 2016.
  41. ^
    «Error message when you try to log on to Exchange 2007 by using Outlook Web Access: «440 Login Time-out»«. Microsoft. 2010. Retrieved November 13, 2013.
  42. ^ «2.2.6 449 Retry With Status Code». Microsoft. 2009. Archived from the original on October 5, 2009. Retrieved October 26, 2009.
  43. ^ «MS-ASCMD, Section 3.1.5.2.2». Msdn.microsoft.com. Archived from the original on March 26, 2015. Retrieved January 8, 2015.
  44. ^ «Ms-oxdisco». Msdn.microsoft.com. Archived from the original on July 31, 2014. Retrieved January 8, 2015.
  45. ^ «The HTTP status codes in IIS 7.0». Microsoft. July 14, 2009. Archived from the original on April 9, 2009. Retrieved April 1, 2009.
  46. ^ «ngx_http_request.h». nginx 1.9.5 source code. nginx inc. Archived from the original on September 19, 2017. Retrieved January 9, 2016.
  47. ^ «ngx_http_special_response.c». nginx 1.9.5 source code. nginx inc. Archived from the original on May 8, 2018. Retrieved January 9, 2016.
  48. ^ «return» directive Archived March 1, 2018, at the Wayback Machine (http_rewrite module) documentation.
  49. ^ «Troubleshooting: Error Pages». Cloudflare. Archived from the original on March 4, 2016. Retrieved January 9, 2016.
  50. ^ «Error 520: web server returns an unknown error». Cloudflare. Retrieved November 1, 2019.
  51. ^ «527 Error: Railgun Listener to origin error». Cloudflare. Archived from the original on October 13, 2016. Retrieved October 12, 2016.
  52. ^ «Error 530». Cloudflare. Retrieved November 1, 2019.
  53. ^ a b «Troubleshoot Your Application Load Balancers – Elastic Load Balancing». docs.aws.amazon.com. Retrieved August 27, 2019.
  54. ^ «Troubleshoot your Application Load Balancers — Elastic Load Balancing». docs.aws.amazon.com. Retrieved January 24, 2021.
  55. ^ «Hypertext Transfer Protocol (HTTP/1.1): Caching». datatracker.ietf.org. Retrieved September 25, 2021.
  56. ^ «Warning — HTTP | MDN». developer.mozilla.org. Retrieved August 15, 2021. CC BY-SA icon.svg Some text was copied from this source, which is available under a Creative Commons Attribution-ShareAlike 2.5 Generic (CC BY-SA 2.5) license.
  57. ^ «RFC 9111: HTTP Caching, Section 5.5 «Warning»«. June 2022.

External links

  • «RFC 9110: HTTP Semantics and Content, Section 15 «Status Codes»«.
  • Hypertext Transfer Protocol (HTTP) Status Code Registry

Page semi-protected

From Wikipedia, the free encyclopedia

(Redirected from 449 Retry With)

This is a list of Hypertext Transfer Protocol (HTTP) response status codes. Status codes are issued by a server in response to a client’s request made to the server. It includes codes from IETF Request for Comments (RFCs), other specifications, and some additional codes used in some common applications of the HTTP. The first digit of the status code specifies one of five standard classes of responses. The optional message phrases shown are typical, but any human-readable alternative may be provided, or none at all.

Unless otherwise stated, the status code is part of the HTTP standard (RFC 9110).

The Internet Assigned Numbers Authority (IANA) maintains the official registry of HTTP status codes.[1]

All HTTP response status codes are separated into five classes or categories. The first digit of the status code defines the class of response, while the last two digits do not have any classifying or categorization role. There are five classes defined by the standard:

  • 1xx informational response – the request was received, continuing process
  • 2xx successful – the request was successfully received, understood, and accepted
  • 3xx redirection – further action needs to be taken in order to complete the request
  • 4xx client error – the request contains bad syntax or cannot be fulfilled
  • 5xx server error – the server failed to fulfil an apparently valid request

1xx informational response

An informational response indicates that the request was received and understood. It is issued on a provisional basis while request processing continues. It alerts the client to wait for a final response. The message consists only of the status line and optional header fields, and is terminated by an empty line. As the HTTP/1.0 standard did not define any 1xx status codes, servers must not[note 1] send a 1xx response to an HTTP/1.0 compliant client except under experimental conditions.

100 Continue
The server has received the request headers and the client should proceed to send the request body (in the case of a request for which a body needs to be sent; for example, a POST request). Sending a large request body to a server after a request has been rejected for inappropriate headers would be inefficient. To have a server check the request’s headers, a client must send Expect: 100-continue as a header in its initial request and receive a 100 Continue status code in response before sending the body. If the client receives an error code such as 403 (Forbidden) or 405 (Method Not Allowed) then it should not send the request’s body. The response 417 Expectation Failed indicates that the request should be repeated without the Expect header as it indicates that the server does not support expectations (this is the case, for example, of HTTP/1.0 servers).[2]
101 Switching Protocols
The requester has asked the server to switch protocols and the server has agreed to do so.
102 Processing (WebDAV; RFC 2518)
A WebDAV request may contain many sub-requests involving file operations, requiring a long time to complete the request. This code indicates that the server has received and is processing the request, but no response is available yet.[3] This prevents the client from timing out and assuming the request was lost.
103 Early Hints (RFC 8297)
Used to return some response headers before final HTTP message.[4]

2xx success

This class of status codes indicates the action requested by the client was received, understood, and accepted.[1]

200 OK
Standard response for successful HTTP requests. The actual response will depend on the request method used. In a GET request, the response will contain an entity corresponding to the requested resource. In a POST request, the response will contain an entity describing or containing the result of the action.
201 Created
The request has been fulfilled, resulting in the creation of a new resource.[5]
202 Accepted
The request has been accepted for processing, but the processing has not been completed. The request might or might not be eventually acted upon, and may be disallowed when processing occurs.
203 Non-Authoritative Information (since HTTP/1.1)
The server is a transforming proxy (e.g. a Web accelerator) that received a 200 OK from its origin, but is returning a modified version of the origin’s response.[6][7]
204 No Content
The server successfully processed the request, and is not returning any content.
205 Reset Content
The server successfully processed the request, asks that the requester reset its document view, and is not returning any content.
206 Partial Content
The server is delivering only part of the resource (byte serving) due to a range header sent by the client. The range header is used by HTTP clients to enable resuming of interrupted downloads, or split a download into multiple simultaneous streams.
207 Multi-Status (WebDAV; RFC 4918)
The message body that follows is by default an XML message and can contain a number of separate response codes, depending on how many sub-requests were made.[8]
208 Already Reported (WebDAV; RFC 5842)
The members of a DAV binding have already been enumerated in a preceding part of the (multistatus) response, and are not being included again.
226 IM Used (RFC 3229)
The server has fulfilled a request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.[9]

3xx redirection

This class of status code indicates the client must take additional action to complete the request. Many of these status codes are used in URL redirection.[1]

A user agent may carry out the additional action with no user interaction only if the method used in the second request is GET or HEAD. A user agent may automatically redirect a request. A user agent should detect and intervene to prevent cyclical redirects.[10]

300 Multiple Choices
Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation). For example, this code could be used to present multiple video format options, to list files with different filename extensions, or to suggest word-sense disambiguation.
301 Moved Permanently
This and all future requests should be directed to the given URI.
302 Found (Previously «Moved temporarily»)
Tells the client to look at (browse to) another URL. The HTTP/1.0 specification (RFC 1945) required the client to perform a temporary redirect with the same method (the original describing phrase was «Moved Temporarily»),[11] but popular browsers implemented 302 redirects by changing the method to GET. Therefore, HTTP/1.1 added status codes 303 and 307 to distinguish between the two behaviours.[10]
303 See Other (since HTTP/1.1)
The response to the request can be found under another URI using the GET method. When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI.
304 Not Modified
Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match. In such case, there is no need to retransmit the resource since the client still has a previously-downloaded copy.
305 Use Proxy (since HTTP/1.1)
The requested resource is available only through a proxy, the address for which is provided in the response. For security reasons, many HTTP clients (such as Mozilla Firefox and Internet Explorer) do not obey this status code.
306 Switch Proxy
No longer used. Originally meant «Subsequent requests should use the specified proxy.»
307 Temporary Redirect (since HTTP/1.1)
In this case, the request should be repeated with another URI; however, future requests should still use the original URI. In contrast to how 302 was historically implemented, the request method is not allowed to be changed when reissuing the original request. For example, a POST request should be repeated using another POST request.
308 Permanent Redirect
This and all future requests should be directed to the given URI. 308 parallel the behaviour of 301, but does not allow the HTTP method to change. So, for example, submitting a form to a permanently redirected resource may continue smoothly.

4xx client errors

A The Wikimedia 404 message

This class of status code is intended for situations in which the error seems to have been caused by the client. Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user.

400 Bad Request
The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing).
401 Unauthorized
Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided. The response must include a WWW-Authenticate header field containing a challenge applicable to the requested resource. See Basic access authentication and Digest access authentication. 401 semantically means «unauthorised», the user does not have valid authentication credentials for the target resource.
Some sites incorrectly issue HTTP 401 when an IP address is banned from the website (usually the website domain) and that specific address is refused permission to access a website.[citation needed]
402 Payment Required
Reserved for future use. The original intention was that this code might be used as part of some form of digital cash or micropayment scheme, as proposed, for example, by GNU Taler,[13] but that has not yet happened, and this code is not widely used. Google Developers API uses this status if a particular developer has exceeded the daily limit on requests.[14] Sipgate uses this code if an account does not have sufficient funds to start a call.[15] Shopify uses this code when the store has not paid their fees and is temporarily disabled.[16] Stripe uses this code for failed payments where parameters were correct, for example blocked fraudulent payments.[17]
403 Forbidden
The request contained valid data and was understood by the server, but the server is refusing action. This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed). This code is also typically used if the request provided authentication by answering the WWW-Authenticate header field challenge, but the server did not accept that authentication. The request should not be repeated.
404 Not Found
The requested resource could not be found but may be available in the future. Subsequent requests by the client are permissible.
405 Method Not Allowed
A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource.
406 Not Acceptable
The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request. See Content negotiation.
407 Proxy Authentication Required
The client must first authenticate itself with the proxy.
408 Request Timeout
The server timed out waiting for the request. According to HTTP specifications: «The client did not produce a request within the time that the server was prepared to wait. The client MAY repeat the request without modifications at any later time.»
409 Conflict
Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates.
410 Gone
Indicates that the resource requested was previously in use but is no longer available and will not be available again. This should be used when a resource has been intentionally removed and the resource should be purged. Upon receiving a 410 status code, the client should not request the resource in the future. Clients such as search engines should remove the resource from their indices. Most use cases do not require clients and search engines to purge the resource, and a «404 Not Found» may be used instead.
411 Length Required
The request did not specify the length of its content, which is required by the requested resource.
412 Precondition Failed
The server does not meet one of the preconditions that the requester put on the request header fields.
413 Payload Too Large
The request is larger than the server is willing or able to process. Previously called «Request Entity Too Large» in RFC 2616.[18]
414 URI Too Long
The URI provided was too long for the server to process. Often the result of too much data being encoded as a query-string of a GET request, in which case it should be converted to a POST request. Called «Request-URI Too Long» previously in RFC 2616.[19]
415 Unsupported Media Type
The request entity has a media type which the server or resource does not support. For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format.
416 Range Not Satisfiable
The client has asked for a portion of the file (byte serving), but the server cannot supply that portion. For example, if the client asked for a part of the file that lies beyond the end of the file. Called «Requested Range Not Satisfiable» previously RFC 2616.[20]
417 Expectation Failed
The server cannot meet the requirements of the Expect request-header field.[21]
418 I’m a teapot (RFC 2324, RFC 7168)
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.[22] This HTTP status is used as an Easter egg in some websites, such as Google.com’s «I’m a teapot» easter egg.[23][24][25] Sometimes, this status code is also used as a response to a blocked request, instead of the more appropriate 403 Forbidden.[26][27]
421 Misdirected Request
The request was directed at a server that is not able to produce a response (for example because of connection reuse).
422 Unprocessable Entity
The request was well-formed but was unable to be followed due to semantic errors.[8]
423 Locked (WebDAV; RFC 4918)
The resource that is being accessed is locked.[8]
424 Failed Dependency (WebDAV; RFC 4918)
The request failed because it depended on another request and that request failed (e.g., a PROPPATCH).[8]
425 Too Early (RFC 8470)
Indicates that the server is unwilling to risk processing a request that might be replayed.
426 Upgrade Required
The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field.
428 Precondition Required (RFC 6585)
The origin server requires the request to be conditional. Intended to prevent the ‘lost update’ problem, where a client GETs a resource’s state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict.[28]
429 Too Many Requests (RFC 6585)
The user has sent too many requests in a given amount of time. Intended for use with rate-limiting schemes.[28]
431 Request Header Fields Too Large (RFC 6585)
The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large.[28]
451 Unavailable For Legal Reasons (RFC 7725)
A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource.[29] The code 451 was chosen as a reference to the novel Fahrenheit 451 (see the Acknowledgements in the RFC).

5xx server errors

The server failed to fulfil a request.

Response status codes beginning with the digit «5» indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method.

500 Internal Server Error
A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.
501 Not Implemented
The server either does not recognize the request method, or it lacks the ability to fulfil the request. Usually this implies future availability (e.g., a new feature of a web-service API).
502 Bad Gateway
The server was acting as a gateway or proxy and received an invalid response from the upstream server.
503 Service Unavailable
The server cannot handle the request (because it is overloaded or down for maintenance). Generally, this is a temporary state.[30]
504 Gateway Timeout
The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.
505 HTTP Version Not Supported
The server does not support the HTTP version used in the request.
506 Variant Also Negotiates (RFC 2295)
Transparent content negotiation for the request results in a circular reference.[31]
507 Insufficient Storage (WebDAV; RFC 4918)
The server is unable to store the representation needed to complete the request.[8]
508 Loop Detected (WebDAV; RFC 5842)
The server detected an infinite loop while processing the request (sent instead of 208 Already Reported).
510 Not Extended (RFC 2774)
Further extensions to the request are required for the server to fulfill it.[32]
511 Network Authentication Required (RFC 6585)
The client needs to authenticate to gain network access. Intended for use by intercepting proxies used to control access to the network (e.g., «captive portals» used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot).[28]

Unofficial codes

The following codes are not specified by any standard.

419 Page Expired (Laravel Framework)
Used by the Laravel Framework when a CSRF Token is missing or expired.
420 Method Failure (Spring Framework)
A deprecated response used by the Spring Framework when a method has failed.[33]
420 Enhance Your Calm (Twitter)
Returned by version 1 of the Twitter Search and Trends API when the client is being rate limited; versions 1.1 and later use the 429 Too Many Requests response code instead.[34] The phrase «Enhance your calm» comes from the 1993 movie Demolition Man, and its association with this number is likely a reference to cannabis.[citation needed]
430 Request Header Fields Too Large (Shopify)
Used by Shopify, instead of the 429 Too Many Requests response code, when too many URLs are requested within a certain time frame.[35]
450 Blocked by Windows Parental Controls (Microsoft)
The Microsoft extension code indicated when Windows Parental Controls are turned on and are blocking access to the requested webpage.[36]
498 Invalid Token (Esri)
Returned by ArcGIS for Server. Code 498 indicates an expired or otherwise invalid token.[37]
499 Token Required (Esri)
Returned by ArcGIS for Server. Code 499 indicates that a token is required but was not submitted.[37]
509 Bandwidth Limit Exceeded (Apache Web Server/cPanel)
The server has exceeded the bandwidth specified by the server administrator; this is often used by shared hosting providers to limit the bandwidth of customers.[38]
529 Site is overloaded
Used by Qualys in the SSLLabs server testing API to signal that the site can’t process the request.[39]
530 Site is frozen
Used by the Pantheon web platform to indicate a site that has been frozen due to inactivity.[40]
598 (Informal convention) Network read timeout error
Used by some HTTP proxies to signal a network read timeout behind the proxy to a client in front of the proxy.[41]
599 Network Connect Timeout Error
An error used by some HTTP proxies to signal a network connect timeout behind the proxy to a client in front of the proxy.

Internet Information Services

Microsoft’s Internet Information Services (IIS) web server expands the 4xx error space to signal errors with the client’s request.

440 Login Time-out
The client’s session has expired and must log in again.[42]
449 Retry With
The server cannot honour the request because the user has not provided the required information.[43]
451 Redirect
Used in Exchange ActiveSync when either a more efficient server is available or the server cannot access the users’ mailbox.[44] The client is expected to re-run the HTTP AutoDiscover operation to find a more appropriate server.[45]

IIS sometimes uses additional decimal sub-codes for more specific information,[46] however these sub-codes only appear in the response payload and in documentation, not in the place of an actual HTTP status code.

nginx

The nginx web server software expands the 4xx error space to signal issues with the client’s request.[47][48]

444 No Response
Used internally[49] to instruct the server to return no information to the client and close the connection immediately.
494 Request header too large
Client sent too large request or too long header line.
495 SSL Certificate Error
An expansion of the 400 Bad Request response code, used when the client has provided an invalid client certificate.
496 SSL Certificate Required
An expansion of the 400 Bad Request response code, used when a client certificate is required but not provided.
497 HTTP Request Sent to HTTPS Port
An expansion of the 400 Bad Request response code, used when the client has made a HTTP request to a port listening for HTTPS requests.
499 Client Closed Request
Used when the client has closed the request before the server could send a response.

Cloudflare

Cloudflare’s reverse proxy service expands the 5xx series of errors space to signal issues with the origin server.[50]

520 Web Server Returned an Unknown Error
The origin server returned an empty, unknown, or unexpected response to Cloudflare.[51]
521 Web Server Is Down
The origin server refused connections from Cloudflare. Security solutions at the origin may be blocking legitimate connections from certain Cloudflare IP addresses.
522 Connection Timed Out
Cloudflare timed out contacting the origin server.
523 Origin Is Unreachable
Cloudflare could not reach the origin server; for example, if the DNS records for the origin server are incorrect or missing.
524 A Timeout Occurred
Cloudflare was able to complete a TCP connection to the origin server, but did not receive a timely HTTP response.
525 SSL Handshake Failed
Cloudflare could not negotiate a SSL/TLS handshake with the origin server.
526 Invalid SSL Certificate
Cloudflare could not validate the SSL certificate on the origin web server. Also used by Cloud Foundry’s gorouter.
527 Railgun Error
Error 527 indicates an interrupted connection between Cloudflare and the origin server’s Railgun server.[52]
530
Error 530 is returned along with a 1xxx error.[53]

AWS Elastic Load Balancer

Amazon’s Elastic Load Balancing adds a few custom return codes

460
Client closed the connection with the load balancer before the idle timeout period elapsed. Typically when client timeout is sooner than the Elastic Load Balancer’s timeout.[54]
463
The load balancer received an X-Forwarded-For request header with more than 30 IP addresses.[54]
561 Unauthorized
An error around authentication returned by a server registered with a load balancer. You configured a listener rule to authenticate users, but the identity provider (IdP) returned an error code when authenticating the user.[55]

Caching warning codes (obsoleted)

The following caching related warning codes were specified under RFC 7234. Unlike the other status codes above, these were not sent as the response status in the HTTP protocol, but as part of the «Warning» HTTP header.[56][57]

Since this «Warning» header is often neither sent by servers nor acknowledged by clients, this header and its codes were obsoleted by the HTTP Working Group in 2022 with RFC 9111.[58]

110 Response is Stale
The response provided by a cache is stale (the content’s age exceeds a maximum age set by a Cache-Control header or heuristically chosen lifetime).
111 Revalidation Failed
The cache was unable to validate the response, due to an inability to reach the origin server.
112 Disconnected Operation
The cache is intentionally disconnected from the rest of the network.
113 Heuristic Expiration
The cache heuristically chose a freshness lifetime greater than 24 hours and the response’s age is greater than 24 hours.
199 Miscellaneous Warning
Arbitrary, non-specific warning. The warning text may be logged or presented to the user.
214 Transformation Applied
Added by a proxy if it applies any transformation to the representation, such as changing the content encoding, media type or the like.
299 Miscellaneous Persistent Warning
Same as 199, but indicating a persistent warning.

See also

  • Custom error pages
  • List of FTP server return codes
  • List of HTTP header fields
  • List of SMTP server return codes
  • Common Log Format

Explanatory notes

  1. ^ Emphasised words and phrases such as must and should represent interpretation guidelines as given by RFC 2119

References

  1. ^ a b c «Hypertext Transfer Protocol (HTTP) Status Code Registry». Iana.org. Archived from the original on December 11, 2011. Retrieved January 8, 2015.
  2. ^ «RFC 9110: HTTP Semantics and Content, Section 10.1.1 «Expect»«.
  3. ^ Goland, Yaronn; Whitehead, Jim; Faizi, Asad; Carter, Steve R.; Jensen, Del (February 1999). HTTP Extensions for Distributed Authoring – WEBDAV. IETF. doi:10.17487/RFC2518. RFC 2518. Retrieved October 24, 2009.
  4. ^ Oku, Kazuho (December 2017). An HTTP Status Code for Indicating Hints. IETF. doi:10.17487/RFC8297. RFC 8297. Retrieved December 20, 2017.
  5. ^ Stewart, Mark; djna. «Create request with POST, which response codes 200 or 201 and content». Stack Overflow. Archived from the original on October 11, 2016. Retrieved October 16, 2015.
  6. ^ «RFC 9110: HTTP Semantics and Content, Section 15.3.4».
  7. ^ «RFC 9110: HTTP Semantics and Content, Section 7.7».
  8. ^ a b c d e Dusseault, Lisa, ed. (June 2007). HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV). IETF. doi:10.17487/RFC4918. RFC 4918. Retrieved October 24, 2009.
  9. ^ Delta encoding in HTTP. IETF. January 2002. doi:10.17487/RFC3229. RFC 3229. Retrieved February 25, 2011.
  10. ^ a b «RFC 9110: HTTP Semantics and Content, Section 15.4 «Redirection 3xx»«.
  11. ^ Berners-Lee, Tim; Fielding, Roy T.; Nielsen, Henrik Frystyk (May 1996). Hypertext Transfer Protocol – HTTP/1.0. IETF. doi:10.17487/RFC1945. RFC 1945. Retrieved October 24, 2009.
  12. ^ «The GNU Taler tutorial for PHP Web shop developers 0.4.0». docs.taler.net. Archived from the original on November 8, 2017. Retrieved October 29, 2017.
  13. ^ «Google API Standard Error Responses». 2016. Archived from the original on May 25, 2017. Retrieved June 21, 2017.
  14. ^ «Sipgate API Documentation». Archived from the original on July 10, 2018. Retrieved July 10, 2018.
  15. ^ «Shopify Documentation». Archived from the original on July 25, 2018. Retrieved July 25, 2018.
  16. ^ «Stripe API Reference – Errors». stripe.com. Retrieved October 28, 2019.
  17. ^ «RFC2616 on status 413». Tools.ietf.org. Archived from the original on March 7, 2011. Retrieved November 11, 2015.
  18. ^ «RFC2616 on status 414». Tools.ietf.org. Archived from the original on March 7, 2011. Retrieved November 11, 2015.
  19. ^ «RFC2616 on status 416». Tools.ietf.org. Archived from the original on March 7, 2011. Retrieved November 11, 2015.
  20. ^ TheDeadLike. «HTTP/1.1 Status Codes 400 and 417, cannot choose which». serverFault. Archived from the original on October 10, 2015. Retrieved October 16, 2015.
  21. ^ Larry Masinter (April 1, 1998). Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0). doi:10.17487/RFC2324. RFC 2324. Any attempt to brew coffee with a teapot should result in the error code «418 I’m a teapot». The resulting entity body MAY be short and stout.
  22. ^ I’m a teapot
  23. ^ Barry Schwartz (August 26, 2014). «New Google Easter Egg For SEO Geeks: Server Status 418, I’m A Teapot». Search Engine Land. Archived from the original on November 15, 2015. Retrieved November 4, 2015.
  24. ^ «Google’s Teapot». Retrieved October 23, 2017.[dead link]
  25. ^ «Enable extra web security on a website». DreamHost. Retrieved December 18, 2022.
  26. ^ «I Went to a Russian Website and All I Got Was This Lousy Teapot». PCMag. Retrieved December 18, 2022.
  27. ^ a b c d Nottingham, M.; Fielding, R. (April 2012). «RFC 6585 – Additional HTTP Status Codes». Request for Comments. Internet Engineering Task Force. Archived from the original on May 4, 2012. Retrieved May 1, 2012.
  28. ^ Bray, T. (February 2016). «An HTTP Status Code to Report Legal Obstacles». ietf.org. Archived from the original on March 4, 2016. Retrieved March 7, 2015.
  29. ^ alex. «What is the correct HTTP status code to send when a site is down for maintenance?». Stack Overflow. Archived from the original on October 11, 2016. Retrieved October 16, 2015.
  30. ^ Holtman, Koen; Mutz, Andrew H. (March 1998). Transparent Content Negotiation in HTTP. IETF. doi:10.17487/RFC2295. RFC 2295. Retrieved October 24, 2009.
  31. ^ Nielsen, Henrik Frystyk; Leach, Paul; Lawrence, Scott (February 2000). An HTTP Extension Framework. IETF. doi:10.17487/RFC2774. RFC 2774. Retrieved October 24, 2009.
  32. ^ «Enum HttpStatus». Spring Framework. org.springframework.http. Archived from the original on October 25, 2015. Retrieved October 16, 2015.
  33. ^ «Twitter Error Codes & Responses». Twitter. 2014. Archived from the original on September 27, 2017. Retrieved January 20, 2014.
  34. ^ «HTTP Status Codes and SEO: what you need to know». ContentKing. Retrieved August 9, 2019.
  35. ^ «Screenshot of error page». Archived from the original (bmp) on May 11, 2013. Retrieved October 11, 2009.
  36. ^ a b «Using token-based authentication». ArcGIS Server SOAP SDK. Archived from the original on September 26, 2014. Retrieved September 8, 2014.
  37. ^ «HTTP Error Codes and Quick Fixes». Docs.cpanel.net. Archived from the original on November 23, 2015. Retrieved October 15, 2015.
  38. ^ «SSL Labs API v3 Documentation». github.com.
  39. ^ «Platform Considerations | Pantheon Docs». pantheon.io. Archived from the original on January 6, 2017. Retrieved January 5, 2017.
  40. ^ «HTTP status codes — ascii-code.com». www.ascii-code.com. Archived from the original on January 7, 2017. Retrieved December 23, 2016.
  41. ^
    «Error message when you try to log on to Exchange 2007 by using Outlook Web Access: «440 Login Time-out»«. Microsoft. 2010. Retrieved November 13, 2013.
  42. ^ «2.2.6 449 Retry With Status Code». Microsoft. 2009. Archived from the original on October 5, 2009. Retrieved October 26, 2009.
  43. ^ «MS-ASCMD, Section 3.1.5.2.2». Msdn.microsoft.com. Archived from the original on March 26, 2015. Retrieved January 8, 2015.
  44. ^ «Ms-oxdisco». Msdn.microsoft.com. Archived from the original on July 31, 2014. Retrieved January 8, 2015.
  45. ^ «The HTTP status codes in IIS 7.0». Microsoft. July 14, 2009. Archived from the original on April 9, 2009. Retrieved April 1, 2009.
  46. ^ «ngx_http_request.h». nginx 1.9.5 source code. nginx inc. Archived from the original on September 19, 2017. Retrieved January 9, 2016.
  47. ^ «ngx_http_special_response.c». nginx 1.9.5 source code. nginx inc. Archived from the original on May 8, 2018. Retrieved January 9, 2016.
  48. ^ «return» directive Archived March 1, 2018, at the Wayback Machine (http_rewrite module) documentation.
  49. ^ «Troubleshooting: Error Pages». Cloudflare. Archived from the original on March 4, 2016. Retrieved January 9, 2016.
  50. ^ «Error 520: web server returns an unknown error». Cloudflare. Retrieved November 1, 2019.
  51. ^ «527 Error: Railgun Listener to origin error». Cloudflare. Archived from the original on October 13, 2016. Retrieved October 12, 2016.
  52. ^ «Error 530». Cloudflare. Retrieved November 1, 2019.
  53. ^ a b «Troubleshoot Your Application Load Balancers – Elastic Load Balancing». docs.aws.amazon.com. Retrieved August 27, 2019.
  54. ^ «Troubleshoot your Application Load Balancers — Elastic Load Balancing». docs.aws.amazon.com. Retrieved January 24, 2021.
  55. ^ «Hypertext Transfer Protocol (HTTP/1.1): Caching». datatracker.ietf.org. Retrieved September 25, 2021.
  56. ^ «Warning — HTTP | MDN». developer.mozilla.org. Retrieved August 15, 2021. CC BY-SA icon.svg Some text was copied from this source, which is available under a Creative Commons Attribution-ShareAlike 2.5 Generic (CC BY-SA 2.5) license.
  57. ^ «RFC 9111: HTTP Caching, Section 5.5 «Warning»«. June 2022.

External links

  • «RFC 9110: HTTP Semantics and Content, Section 15 «Status Codes»«.
  • Hypertext Transfer Protocol (HTTP) Status Code Registry

Содержание

  • Что такое код ответа HTTP
  • Как проверить код состояния страницы
  • В браузере
  • В Яндекс.Вебмастере
  • В Google Search Console
  • 1* класс кодов (информационные сообщения)
  • 100 Continue
  • 101 Switching Protocols
  • 102 Processing
  • 103 Checkpoint
  • 105 Name Not Resolved
  • 2* класс кодов (успешно обработанные запросы)
  • 200 ОК
  • 201 Created
  • 202 Accepted
  • 203 Non‑Authoritative Information
  • 204 No Content
  • 205 Reset Content
  • 206 Partial Content
  • 207 Multi‑Status
  • 226 IM Used
  • 3* класс кодов (перенаправление на другой адрес)
  • 300 Multiple Choices
  • 301 Moved Permanently
  • 302 Found/Moved 
  • 303 See Other
  • 304 Not Modified
  • 305 Use Proxy
  • 306 Unused
  • 307 Temporary Redirect
  • 308 Resume Incomplete
  • 4* класс кодов (ошибки на стороне клиента)
  • 400 Bad Request
  • 401 Unauthorized
  • 402 Payment Required
  • 403 Forbidden
  • 404 Not Found
  • 405 Method Not Allowed
  • 406 Not Acceptable
  • 407 Proxy Authentication Required
  • 408 Request Timeout
  • 409 Conflict
  • 410 Gone
  • 411 Length Required
  • 412 Precondition Failed
  • 413 Request Entity Too Large
  • 414 Request‑URI Too Long
  • 415 Unsupported Media Type
  • 416 Requested Range Not Satisfiable
  • 417 Expectation Failed
  • 418 I’m a teapot
  • 422 Unprocessable Entity
  • 423 Locked
  • 424 Failed Dependency
  • 425 Unordered Collection
  • 426 Upgrade Required
  • 428 Precondition Required
  • 429 Too Many Requests
  • 431 Request Header Fields Too Large
  • 434 Requested Host Unavailable
  • 444 No Response
  • 449 Retry With
  • 450 Blocked by Windows Parental Controls
  • 451 Unavailable For Legal Reasons
  • 456 Unrecoverable Error
  • 499 Client Closed Request
  • 5* класс кодов (ошибки на стороне сервера)
  • 500 Internal Server Error
  • 501 Not Implemented
  • 502 Bad Gateway
  • 503 Service Unavailable
  • 504 Gateway Timeout
  • 505 HTTP Version Not Supported
  • 506 Variant Also Negotiates
  • 507 Insufficient Storage
  • 508 Loop Detected
  • 509 Bandwidth Limit Exceeded
  • 510 Not Extended
  • 511 Network Authentication Required
  • Составили подробный классификатор кодов состояния HTTP. Добавляйте в закладки, чтобы был под рукой, когда понадобится.

    Что такое код ответа HTTP

    Когда посетитель переходит по ссылке на сайт или вбивает её в поисковую строку вручную, отправляется запрос на сервер. Сервер обрабатывает этот запрос и выдаёт ответ — трехзначный цифровой код HTTP от 100 до 510. По коду ответа можно понять реакцию сервера на запрос. 

    Первая цифра в ответе обозначает класс состояния, другие две — причину, по которой мог появиться такой ответ.

    Как проверить код состояния страницы

    Проверить коды ответа сервера можно вручную с помощью браузера и в панелях веб‑мастеров: Яндекс.Вебмастер и Google Search Console.

    В браузере

    Для примера возьмём Google Chrome.

    1. Откройте панель разработчика в браузере клавишей F12, комбинацией клавиш Ctrl + Shift + I или в меню браузера → «Дополнительные инструменты» → «Инструменты разработчика». Подробнее об этом рассказывали в статье «Как открыть исходный код страницы». 

    2. Переключитесь на вкладку «Сеть» в Инструментах разработчика и обновите страницу: 

    Как посмотреть код ответа сервера в инструментах разработчика в браузере

    Как посмотреть код ответа сервера в инструментах разработчика в браузере

    В Яндекс.Вебмастере

    Откройте инструмент «Проверка ответа сервера» в Вебмастере. Введите URL в специальное поле и нажмите кнопку «Проверить»:

    Как посмотреть код состояния в Вебмастере

    Как посмотреть код состояния в Вебмастере

    Как добавить сайт в Яндекс.Вебмастер и другие сервисы Яндекса

    В Google Search Console

    Чтобы посмотреть код ответа сервера в GSC, перейдите в инструмент проверки URL — он находится в самом верху панели:

    Проверка URL в инструменте GSC

    Проверка URL в инструменте GSC

    Введите ссылку на страницу, которую хотите проверить, и нажмите Enter. В результатах проверки нажмите на «Изучить просканированную страницу» в блоке «URL есть в индексе Google».

    Изучить просканированную страницу в GSC

    Изучить просканированную страницу в GSC

    А затем в открывшемся окне перейдите на вкладку «Подробнее»:

    HTTP код страницы в GSC

    HTTP код страницы в GSC

    Теперь расскажем подробнее про все классы кодов состояния HTTP.

    1* класс кодов (информационные сообщения)

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

    100 Continue

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

    101 Switching Protocols

    Сервер одобрил переключение типа протокола, которое запросил пользователь, и в настоящий момент выполняет действие.

    102 Processing

    Запрос принят — он находится в обработке, и на это понадобится чуть больше времени.

    103 Checkpoint

    Контрольная точка — используется в запросах для возобновления после прерывания запросов POST или PUT.

    POST отправляет данные на сервер, PUT создает новый ресурс или заменяет существующий данными, представленными в теле запроса. 

    Разница между ними в том, что PUT работает без изменений: повторное его применение даёт такой же результат, что и в первый раз, а вот повторный вызов одного и того же метода POST часто меняет данные. 

    Пример — оформленный несколько раз интернет‑заказ. Такое часто происходит как раз по причине неоднократного использования запроса PUT.

    105 Name Not Resolved

    Не удается преобразовать DNS‑адрес сервера — это  означает ошибку в службе DNS. Эта служба преобразует IP‑адреса в знакомые нам доменные имена.

    2* класс кодов (успешно обработанные запросы)

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

    200 ОК

    Все хорошо — HTTP‑запрос успешно обработан (не ошибка).

    201 Created

    Создано — транзакция успешна, сформирован новый ресурс или документ.

    202 Accepted

    Принято — запрос принят, но ещё не обработан.

    203 Non‑Authoritative Information

    Информация не авторитетна — запрос успешно обработан, но передаваемая информация была взята не из первичного источника (данные могут быть устаревшими).

    204 No Content

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

    205 Reset Content

    Сбросить содержимое. Запрос успешно обработан — но нужно сбросить введенные данные. Страницу можно не обновлять.

    206 Partial Content

    Частичное содержимое. Сервер успешно обработал часть GET‑запроса, а другую часть вернул.

    GET — метод для чтения данных с сайта. Он говорит серверу, что клиент хочет прочитать какой‑то документ. 

    Представим интернет‑магазин и страницы каталога. Фильтры, которые выбирает пользователь, передаются благодаря методу GET. GET‑запрос работает с  получением данных, а POST‑запрос нужен для отправки данных.

    При работе с подобными ответами следует уделить внимание кэшированию.

    207 Multi‑Status

    Успешно выполнено несколько операций — сервер передал результаты выполнения нескольких независимых операций. Они появятся в виде XML‑документа с объектом multistatus. 

    226 IM Used

    Успешно обработан IM‑заголовок (специальный заголовок, который отправляется клиентом и используется для передачи состояния HTTP).

    3* класс кодов (перенаправление на другой адрес)

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

    300 Multiple Choices

    Множественный выбор — сервер выдает список нескольких возможных вариантов перенаправления (максимум — 5). Можно выбрать один из них.

    301 Moved Permanently

    Окончательно перемещено — страница перемещена на другой URL, который указан в поле Location.

    302 Found/Moved 

    Временно перемещено — страница временно перенесена на другой URL,  который указан в поле Location.

    303 See Other

    Ищите другую страницу — страница не найдена по данному URL, поэтому смотрите страницу по другому URL, используя метод GET.

    304 Not Modified

    Модификаций не было — с момента последнего визита клиента изменений не было.

    305 Use Proxy

    Используйте прокси — запрос к нужному ресурсу можно сделать только через прокси‑сервер, URL которого указан в поле Location заголовка.

    306 Unused

    Зарезервировано. Код в настоящий момент не используется.

    307 Temporary Redirect

    Временное перенаправление — запрашиваемый ресурс временно доступен по другому URL.

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

    308 Resume Incomplete

    Перемещено полностью (навсегда) — запрашиваемая страница была перенесена на новый URL, указанный в поле Location заголовка. Метод запроса (GET/POST) менять не разрешается.

    4* класс кодов (ошибки на стороне клиента)

    Эти коды указывают на ошибки со стороны клиентов. 

    Скриншот страницы с ошибкой 404 с сайта modcloth.com

    Скриншот страницы с ошибкой 404 с сайта modcloth.com

    400 Bad Request

    Неверный запрос — запрос клиента не может быть обработан, так как есть синтаксическая ошибка (возможно, опечатка).

    401 Unauthorized

    Не пройдена авторизация — запрос ещё в обработке, но доступа нет, так как пользователь не авторизован.

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

    402 Payment Required

    Требуется оплата — зарезервировано для использования в будущем. Код предусмотрен для платных пользовательских сервисов, а не для хостинговых компаний.

    403 Forbidden

    Запрещено — запрос принят, но не будет обработан, так как у клиента недостаточно прав. Может возникнуть, когда пользователь хочет открыть системные файлы (robots, htaccess) или не прошёл авторизацию.

    404 Not Found

    Не найдено — запрашиваемая страница не обнаружена. Сервер принял запрос, но не нашёл ресурса по указанному URL (возможно, была ошибка в URL или страница была перемещена).

    405 Method Not Allowed

    Метод не разрешён — запрос был сделан методом, который не поддерживается данным ресурсом. Сервер должен предложить доступные методы решения в заголовке Allow.

    406 Not Acceptable

    Некорректный запрос — неподдерживаемый поисковиком формат запроса (поисковый робот не поддерживает кодировку или язык).

    407 Proxy Authentication Required

    Нужно пройти аутентификацию прокси — ответ аналогичен коду 401, только нужно аутентифицировать прокси‑сервер.

    408 Request Timeout

    Тайм‑аут запроса — запрос клиента занял слишком много времени. На каждом сайте существует свое время тайм‑аута — проверьте интернет‑соединение  и просто обновите страницу.

    409 Conflict

    Конфликт (что‑то пошло не так) — запрос не может быть выполнен из‑за конфликтного обращения к ресурсу (несовместимость двух запросов).

    410 Gone

    Недоступно — ресурс раньше был размещён по указанному URL, но сейчас удалён и  недоступен (серверу неизвестно месторасположение).

    411 Length Required

    Добавьте длины — сервер отклоняет отправляемый запрос, так как длина заголовка не определена, и он не находит значение Content‑Length. 

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

    412 Precondition Failed

    Предварительное условие не выполнено — стоит проверить правильность HTTP‑заголовков данного запроса.

    413 Request Entity Too Large

    Превышен размер запроса — перелимит максимального размера запроса, принимаемого сервером. Браузеры поддерживают запросы от 2 до 8 килобайт.

    414 Request‑URI Too Long

    Превышена длина запроса — сервер не может обработать запрос из‑за длинного URL. Такая ошибка может возникнуть, например, когда клиент пытается передать чересчур длинные параметры через метод GET, а не POST.

    415 Unsupported Media Type

    Формат не поддерживается —  сервер не может принять запрос, так как  данные подгружаются в некорректном формате, и сервер разрывает соединение.

    416 Requested Range Not Satisfiable

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

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

    417 Expectation Failed

    Ожидания не оправдались — прокси некорректно идентифицировал содержимое поля «Expect: 100‑Continue».

    418 I’m a teapot

    Первоапрельская шутка разработчиков в 1998 году. В расшифровке звучит как «я не приготовлю вам кофе, потому что я чайник». Не используется в работе.

    422 Unprocessable Entity

    Объект не обработан — сервер принял запрос, но в нём  есть логическая ошибка. Стоит посмотреть в сторону семантики сайта.

    423 Locked

    Закрыто — ресурс заблокирован для выбранного HTTP‑метода. Можно перезагрузить роутер и компьютер. А также использовать только статистический IP.

    424 Failed Dependency

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

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

    425 Unordered Collection

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

    426 Upgrade Required

    Нужно обновление — в заголовке ответа нужно корректно сформировать поля Upgrade и Connection. 

    Этот ответ возникает, когда серверу требуется обновление до SSL‑протокола, но клиент не имеет его поддержки.

    428 Precondition Required

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

    429 Too Many Requests

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

    431 Request Header Fields Too Large

    Превышена длина заголовков — сервер может и не отвечать этим кодом, вместо этого он может просто сбросить соединение.

    Исправляется это с помощью сокращения заголовков и повторной отправки запроса.

    434 Requested Host Unavailable

    Адрес запрашиваемой страницы недоступен.

    444 No Response

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

    Nginx — программное обеспечение с открытым исходным кодом. Его используют для создания веб‑серверов, а также  в качестве почтового или обратного прокси‑сервера. Nginx решает проблему падения производительности из‑за роста трафика. 

    449 Retry With

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

    450 Blocked by Windows Parental Controls

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

    451 Unavailable For Legal Reasons

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

    456 Unrecoverable Error

    Неустранимая ошибка — при обработке запроса возникла ошибка, которая вызывает некорректируемые сбои в таблицах баз данных.

    499 Client Closed Request

    Запрос закрыт клиентом — нестандартный код, используемый nginx в ситуациях, когда клиент закрыл соединение, пока nginx обрабатывал запрос.

    5* класс кодов (ошибки на стороне сервера)

    Эти коды указывают на ошибки со стороны серверов. 

    При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя. И его можно использовать в работе.

    Изображение страницы с ошибкой сайта REG.RU

    Изображение страницы с ошибкой сайта REG.RU

    500 Internal Server Error

    Внутренняя ошибка сервера — сервер столкнулся с неким условием, из‑за которого не может выполнить запрос. 

    Проверяйте, корректно ли указаны директивы в системных файлах (особенно htaccess) и нет ли ошибки прав доступа к файлам. Обратите внимание на ошибки внутри скриптов и их медленную работу.

    501 Not Implemented

    Не выполнено —  код отдается, когда сам сервер не может идентифицировать метод запроса. 

    Сами вы эту ошибку не исправите. Устранить её может только сервер.

    502 Bad Gateway

    Ошибка шлюза — появляется, когда сервер, выступая в роли шлюза или прокси‑сервера, получил ответное сообщение от вышестоящего сервера о несоответствии протоколов.

    Актуально исключительно для прокси и шлюзовых конфигураций.

    503 Service Unavailable

    Временно не доступен — сервер временно не имеет возможности обрабатывать запросы по техническим причинам (обслуживание, перегрузка и прочее). 

    В поле Retry‑After заголовка сервер укажет время, через которое  можно повторить запрос.

    504 Gateway Timeout

    Тайм‑аут шлюза —  сервер, выступая в роли шлюза или прокси‑сервера, не получил ответа от вышестоящего сервера в нужное время.

    Исправить эту ошибку самостоятельно не получится. Здесь дело в прокси, часто — в веб‑сервере. 

    Первым делом просто обновите веб‑страницу. Если это не помогло, нужно почистить DNS‑кэш. Для этого  нажмите горячие клавиши Windows+R и введите команду cmd (Control+пробел). В открывшемся окне укажите команду ipconfig / flushdns и подтвердите её нажатием Enter.

    505 HTTP Version Not Supported

    Сервер не поддерживает версию протокола — отсутствует поддержка текущей версии HTTP‑протокола. Нужно обеспечить клиента и сервер одинаковой версией.

    506 Variant Also Negotiates

    Неуспешные переговоры — с такой ошибкой сталкиваются, если сервер изначально настроен неправильно. По причине ошибочной конфигурации выбранный вариант указывает сам на себя, из‑за чего процесс и прерывается.

    507 Insufficient Storage

    Не хватает места для хранения — серверу недостаточно места в хранилище. Нужно либо расчистить место, либо увеличить доступное пространство.

    508 Loop Detected

    Обнаружен цикл — ошибка означает провал запроса и выполняемой операции в целом.

    509 Bandwidth Limit Exceeded

    Превышена пропускная способность —  используется при чрезмерном потреблении трафика. Владельцу площадки следует обратиться к своему хостинг‑провайдеру. 

    510 Not Extended

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

    511 Network Authentication Required

    Требуется аутентификация — ошибка генерируется сервером‑посредником, к примеру, сервером интернет‑провайдера, если нужно ввести пароль для получения доступа к сети через платную точку доступа.

    Page semi-protected

    From Wikipedia, the free encyclopedia

    This is a list of Hypertext Transfer Protocol (HTTP) response status codes. Status codes are issued by a server in response to a client’s request made to the server. It includes codes from IETF Request for Comments (RFCs), other specifications, and some additional codes used in some common applications of the HTTP. The first digit of the status code specifies one of five standard classes of responses. The optional message phrases shown are typical, but any human-readable alternative may be provided, or none at all.

    Unless otherwise stated, the status code is part of the HTTP standard (RFC 9110).

    The Internet Assigned Numbers Authority (IANA) maintains the official registry of HTTP status codes.[1]

    All HTTP response status codes are separated into five classes or categories. The first digit of the status code defines the class of response, while the last two digits do not have any classifying or categorization role. There are five classes defined by the standard:

    • 1xx informational response – the request was received, continuing process
    • 2xx successful – the request was successfully received, understood, and accepted
    • 3xx redirection – further action needs to be taken in order to complete the request
    • 4xx client error – the request contains bad syntax or cannot be fulfilled
    • 5xx server error – the server failed to fulfil an apparently valid request

    1xx informational response

    An informational response indicates that the request was received and understood. It is issued on a provisional basis while request processing continues. It alerts the client to wait for a final response. The message consists only of the status line and optional header fields, and is terminated by an empty line. As the HTTP/1.0 standard did not define any 1xx status codes, servers must not[note 1] send a 1xx response to an HTTP/1.0 compliant client except under experimental conditions.

    100 Continue
    The server has received the request headers and the client should proceed to send the request body (in the case of a request for which a body needs to be sent; for example, a POST request). Sending a large request body to a server after a request has been rejected for inappropriate headers would be inefficient. To have a server check the request’s headers, a client must send Expect: 100-continue as a header in its initial request and receive a 100 Continue status code in response before sending the body. If the client receives an error code such as 403 (Forbidden) or 405 (Method Not Allowed) then it should not send the request’s body. The response 417 Expectation Failed indicates that the request should be repeated without the Expect header as it indicates that the server does not support expectations (this is the case, for example, of HTTP/1.0 servers).[2]
    101 Switching Protocols
    The requester has asked the server to switch protocols and the server has agreed to do so.
    102 Processing (WebDAV; RFC 2518)
    A WebDAV request may contain many sub-requests involving file operations, requiring a long time to complete the request. This code indicates that the server has received and is processing the request, but no response is available yet.[3] This prevents the client from timing out and assuming the request was lost.
    103 Early Hints (RFC 8297)
    Used to return some response headers before final HTTP message.[4]

    2xx success

    This class of status codes indicates the action requested by the client was received, understood, and accepted.[1]

    200 OK
    Standard response for successful HTTP requests. The actual response will depend on the request method used. In a GET request, the response will contain an entity corresponding to the requested resource. In a POST request, the response will contain an entity describing or containing the result of the action.
    201 Created
    The request has been fulfilled, resulting in the creation of a new resource.[5]
    202 Accepted
    The request has been accepted for processing, but the processing has not been completed. The request might or might not be eventually acted upon, and may be disallowed when processing occurs.
    203 Non-Authoritative Information (since HTTP/1.1)
    The server is a transforming proxy (e.g. a Web accelerator) that received a 200 OK from its origin, but is returning a modified version of the origin’s response.[6][7]
    204 No Content
    The server successfully processed the request, and is not returning any content.
    205 Reset Content
    The server successfully processed the request, asks that the requester reset its document view, and is not returning any content.
    206 Partial Content
    The server is delivering only part of the resource (byte serving) due to a range header sent by the client. The range header is used by HTTP clients to enable resuming of interrupted downloads, or split a download into multiple simultaneous streams.
    207 Multi-Status (WebDAV; RFC 4918)
    The message body that follows is by default an XML message and can contain a number of separate response codes, depending on how many sub-requests were made.[8]
    208 Already Reported (WebDAV; RFC 5842)
    The members of a DAV binding have already been enumerated in a preceding part of the (multistatus) response, and are not being included again.
    226 IM Used (RFC 3229)
    The server has fulfilled a request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.[9]

    3xx redirection

    This class of status code indicates the client must take additional action to complete the request. Many of these status codes are used in URL redirection.[1]

    A user agent may carry out the additional action with no user interaction only if the method used in the second request is GET or HEAD. A user agent may automatically redirect a request. A user agent should detect and intervene to prevent cyclical redirects.[10]

    300 Multiple Choices
    Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation). For example, this code could be used to present multiple video format options, to list files with different filename extensions, or to suggest word-sense disambiguation.
    301 Moved Permanently
    This and all future requests should be directed to the given URI.
    302 Found (Previously «Moved temporarily»)
    Tells the client to look at (browse to) another URL. The HTTP/1.0 specification (RFC 1945) required the client to perform a temporary redirect with the same method (the original describing phrase was «Moved Temporarily»),[11] but popular browsers implemented 302 redirects by changing the method to GET. Therefore, HTTP/1.1 added status codes 303 and 307 to distinguish between the two behaviours.[10]
    303 See Other (since HTTP/1.1)
    The response to the request can be found under another URI using the GET method. When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a new GET request to the given URI.
    304 Not Modified
    Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-None-Match. In such case, there is no need to retransmit the resource since the client still has a previously-downloaded copy.
    305 Use Proxy (since HTTP/1.1)
    The requested resource is available only through a proxy, the address for which is provided in the response. For security reasons, many HTTP clients (such as Mozilla Firefox and Internet Explorer) do not obey this status code.
    306 Switch Proxy
    No longer used. Originally meant «Subsequent requests should use the specified proxy.»
    307 Temporary Redirect (since HTTP/1.1)
    In this case, the request should be repeated with another URI; however, future requests should still use the original URI. In contrast to how 302 was historically implemented, the request method is not allowed to be changed when reissuing the original request. For example, a POST request should be repeated using another POST request.
    308 Permanent Redirect
    This and all future requests should be directed to the given URI. 308 parallel the behaviour of 301, but does not allow the HTTP method to change. So, for example, submitting a form to a permanently redirected resource may continue smoothly.

    4xx client errors

    A The Wikimedia 404 message

    This class of status code is intended for situations in which the error seems to have been caused by the client. Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and whether it is a temporary or permanent condition. These status codes are applicable to any request method. User agents should display any included entity to the user.

    400 Bad Request
    The server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, size too large, invalid request message framing, or deceptive request routing).
    401 Unauthorized
    Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided. The response must include a WWW-Authenticate header field containing a challenge applicable to the requested resource. See Basic access authentication and Digest access authentication. 401 semantically means «unauthorised», the user does not have valid authentication credentials for the target resource.
    Some sites incorrectly issue HTTP 401 when an IP address is banned from the website (usually the website domain) and that specific address is refused permission to access a website.[citation needed]
    402 Payment Required
    Reserved for future use. The original intention was that this code might be used as part of some form of digital cash or micropayment scheme, as proposed, for example, by GNU Taler,[13] but that has not yet happened, and this code is not widely used. Google Developers API uses this status if a particular developer has exceeded the daily limit on requests.[14] Sipgate uses this code if an account does not have sufficient funds to start a call.[15] Shopify uses this code when the store has not paid their fees and is temporarily disabled.[16] Stripe uses this code for failed payments where parameters were correct, for example blocked fraudulent payments.[17]
    403 Forbidden
    The request contained valid data and was understood by the server, but the server is refusing action. This may be due to the user not having the necessary permissions for a resource or needing an account of some sort, or attempting a prohibited action (e.g. creating a duplicate record where only one is allowed). This code is also typically used if the request provided authentication by answering the WWW-Authenticate header field challenge, but the server did not accept that authentication. The request should not be repeated.
    404 Not Found
    The requested resource could not be found but may be available in the future. Subsequent requests by the client are permissible.
    405 Method Not Allowed
    A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource.
    406 Not Acceptable
    The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request. See Content negotiation.
    407 Proxy Authentication Required
    The client must first authenticate itself with the proxy.
    408 Request Timeout
    The server timed out waiting for the request. According to HTTP specifications: «The client did not produce a request within the time that the server was prepared to wait. The client MAY repeat the request without modifications at any later time.»
    409 Conflict
    Indicates that the request could not be processed because of conflict in the current state of the resource, such as an edit conflict between multiple simultaneous updates.
    410 Gone
    Indicates that the resource requested was previously in use but is no longer available and will not be available again. This should be used when a resource has been intentionally removed and the resource should be purged. Upon receiving a 410 status code, the client should not request the resource in the future. Clients such as search engines should remove the resource from their indices. Most use cases do not require clients and search engines to purge the resource, and a «404 Not Found» may be used instead.
    411 Length Required
    The request did not specify the length of its content, which is required by the requested resource.
    412 Precondition Failed
    The server does not meet one of the preconditions that the requester put on the request header fields.
    413 Payload Too Large
    The request is larger than the server is willing or able to process. Previously called «Request Entity Too Large» in RFC 2616.[18]
    414 URI Too Long
    The URI provided was too long for the server to process. Often the result of too much data being encoded as a query-string of a GET request, in which case it should be converted to a POST request. Called «Request-URI Too Long» previously in RFC 2616.[19]
    415 Unsupported Media Type
    The request entity has a media type which the server or resource does not support. For example, the client uploads an image as image/svg+xml, but the server requires that images use a different format.
    416 Range Not Satisfiable
    The client has asked for a portion of the file (byte serving), but the server cannot supply that portion. For example, if the client asked for a part of the file that lies beyond the end of the file. Called «Requested Range Not Satisfiable» previously RFC 2616.[20]
    417 Expectation Failed
    The server cannot meet the requirements of the Expect request-header field.[21]
    418 I’m a teapot (RFC 2324, RFC 7168)
    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.[22] This HTTP status is used as an Easter egg in some websites, such as Google.com’s «I’m a teapot» easter egg.[23][24][25] Sometimes, this status code is also used as a response to a blocked request, instead of the more appropriate 403 Forbidden.[26][27]
    421 Misdirected Request
    The request was directed at a server that is not able to produce a response (for example because of connection reuse).
    422 Unprocessable Entity
    The request was well-formed but was unable to be followed due to semantic errors.[8]
    423 Locked (WebDAV; RFC 4918)
    The resource that is being accessed is locked.[8]
    424 Failed Dependency (WebDAV; RFC 4918)
    The request failed because it depended on another request and that request failed (e.g., a PROPPATCH).[8]
    425 Too Early (RFC 8470)
    Indicates that the server is unwilling to risk processing a request that might be replayed.
    426 Upgrade Required
    The client should switch to a different protocol such as TLS/1.3, given in the Upgrade header field.
    428 Precondition Required (RFC 6585)
    The origin server requires the request to be conditional. Intended to prevent the ‘lost update’ problem, where a client GETs a resource’s state, modifies it, and PUTs it back to the server, when meanwhile a third party has modified the state on the server, leading to a conflict.[28]
    429 Too Many Requests (RFC 6585)
    The user has sent too many requests in a given amount of time. Intended for use with rate-limiting schemes.[28]
    431 Request Header Fields Too Large (RFC 6585)
    The server is unwilling to process the request because either an individual header field, or all the header fields collectively, are too large.[28]
    451 Unavailable For Legal Reasons (RFC 7725)
    A server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource.[29] The code 451 was chosen as a reference to the novel Fahrenheit 451 (see the Acknowledgements in the RFC).

    5xx server errors

    The server failed to fulfil a request.

    Response status codes beginning with the digit «5» indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request. Except when responding to a HEAD request, the server should include an entity containing an explanation of the error situation, and indicate whether it is a temporary or permanent condition. Likewise, user agents should display any included entity to the user. These response codes are applicable to any request method.

    500 Internal Server Error
    A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.
    501 Not Implemented
    The server either does not recognize the request method, or it lacks the ability to fulfil the request. Usually this implies future availability (e.g., a new feature of a web-service API).
    502 Bad Gateway
    The server was acting as a gateway or proxy and received an invalid response from the upstream server.
    503 Service Unavailable
    The server cannot handle the request (because it is overloaded or down for maintenance). Generally, this is a temporary state.[30]
    504 Gateway Timeout
    The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.
    505 HTTP Version Not Supported
    The server does not support the HTTP version used in the request.
    506 Variant Also Negotiates (RFC 2295)
    Transparent content negotiation for the request results in a circular reference.[31]
    507 Insufficient Storage (WebDAV; RFC 4918)
    The server is unable to store the representation needed to complete the request.[8]
    508 Loop Detected (WebDAV; RFC 5842)
    The server detected an infinite loop while processing the request (sent instead of 208 Already Reported).
    510 Not Extended (RFC 2774)
    Further extensions to the request are required for the server to fulfill it.[32]
    511 Network Authentication Required (RFC 6585)
    The client needs to authenticate to gain network access. Intended for use by intercepting proxies used to control access to the network (e.g., «captive portals» used to require agreement to Terms of Service before granting full Internet access via a Wi-Fi hotspot).[28]

    Unofficial codes

    The following codes are not specified by any standard.

    419 Page Expired (Laravel Framework)
    Used by the Laravel Framework when a CSRF Token is missing or expired.
    420 Method Failure (Spring Framework)
    A deprecated response used by the Spring Framework when a method has failed.[33]
    420 Enhance Your Calm (Twitter)
    Returned by version 1 of the Twitter Search and Trends API when the client is being rate limited; versions 1.1 and later use the 429 Too Many Requests response code instead.[34] The phrase «Enhance your calm» comes from the 1993 movie Demolition Man, and its association with this number is likely a reference to cannabis.[citation needed]
    430 Request Header Fields Too Large (Shopify)
    Used by Shopify, instead of the 429 Too Many Requests response code, when too many URLs are requested within a certain time frame.[35]
    450 Blocked by Windows Parental Controls (Microsoft)
    The Microsoft extension code indicated when Windows Parental Controls are turned on and are blocking access to the requested webpage.[36]
    498 Invalid Token (Esri)
    Returned by ArcGIS for Server. Code 498 indicates an expired or otherwise invalid token.[37]
    499 Token Required (Esri)
    Returned by ArcGIS for Server. Code 499 indicates that a token is required but was not submitted.[37]
    509 Bandwidth Limit Exceeded (Apache Web Server/cPanel)
    The server has exceeded the bandwidth specified by the server administrator; this is often used by shared hosting providers to limit the bandwidth of customers.[38]
    529 Site is overloaded
    Used by Qualys in the SSLLabs server testing API to signal that the site can’t process the request.[39]
    530 Site is frozen
    Used by the Pantheon web platform to indicate a site that has been frozen due to inactivity.[40]
    598 (Informal convention) Network read timeout error
    Used by some HTTP proxies to signal a network read timeout behind the proxy to a client in front of the proxy.[41]
    599 Network Connect Timeout Error
    An error used by some HTTP proxies to signal a network connect timeout behind the proxy to a client in front of the proxy.

    Internet Information Services

    Microsoft’s Internet Information Services (IIS) web server expands the 4xx error space to signal errors with the client’s request.

    440 Login Time-out
    The client’s session has expired and must log in again.[42]
    449 Retry With
    The server cannot honour the request because the user has not provided the required information.[43]
    451 Redirect
    Used in Exchange ActiveSync when either a more efficient server is available or the server cannot access the users’ mailbox.[44] The client is expected to re-run the HTTP AutoDiscover operation to find a more appropriate server.[45]

    IIS sometimes uses additional decimal sub-codes for more specific information,[46] however these sub-codes only appear in the response payload and in documentation, not in the place of an actual HTTP status code.

    nginx

    The nginx web server software expands the 4xx error space to signal issues with the client’s request.[47][48]

    444 No Response
    Used internally[49] to instruct the server to return no information to the client and close the connection immediately.
    494 Request header too large
    Client sent too large request or too long header line.
    495 SSL Certificate Error
    An expansion of the 400 Bad Request response code, used when the client has provided an invalid client certificate.
    496 SSL Certificate Required
    An expansion of the 400 Bad Request response code, used when a client certificate is required but not provided.
    497 HTTP Request Sent to HTTPS Port
    An expansion of the 400 Bad Request response code, used when the client has made a HTTP request to a port listening for HTTPS requests.
    499 Client Closed Request
    Used when the client has closed the request before the server could send a response.

    Cloudflare

    Cloudflare’s reverse proxy service expands the 5xx series of errors space to signal issues with the origin server.[50]

    520 Web Server Returned an Unknown Error
    The origin server returned an empty, unknown, or unexpected response to Cloudflare.[51]
    521 Web Server Is Down
    The origin server refused connections from Cloudflare. Security solutions at the origin may be blocking legitimate connections from certain Cloudflare IP addresses.
    522 Connection Timed Out
    Cloudflare timed out contacting the origin server.
    523 Origin Is Unreachable
    Cloudflare could not reach the origin server; for example, if the DNS records for the origin server are incorrect or missing.
    524 A Timeout Occurred
    Cloudflare was able to complete a TCP connection to the origin server, but did not receive a timely HTTP response.
    525 SSL Handshake Failed
    Cloudflare could not negotiate a SSL/TLS handshake with the origin server.
    526 Invalid SSL Certificate
    Cloudflare could not validate the SSL certificate on the origin web server. Also used by Cloud Foundry’s gorouter.
    527 Railgun Error
    Error 527 indicates an interrupted connection between Cloudflare and the origin server’s Railgun server.[52]
    530
    Error 530 is returned along with a 1xxx error.[53]

    AWS Elastic Load Balancer

    Amazon’s Elastic Load Balancing adds a few custom return codes

    460
    Client closed the connection with the load balancer before the idle timeout period elapsed. Typically when client timeout is sooner than the Elastic Load Balancer’s timeout.[54]
    463
    The load balancer received an X-Forwarded-For request header with more than 30 IP addresses.[54]
    561 Unauthorized
    An error around authentication returned by a server registered with a load balancer. You configured a listener rule to authenticate users, but the identity provider (IdP) returned an error code when authenticating the user.[55]

    Caching warning codes (obsoleted)

    The following caching related warning codes were specified under RFC 7234. Unlike the other status codes above, these were not sent as the response status in the HTTP protocol, but as part of the «Warning» HTTP header.[56][57]

    Since this «Warning» header is often neither sent by servers nor acknowledged by clients, this header and its codes were obsoleted by the HTTP Working Group in 2022 with RFC 9111.[58]

    110 Response is Stale
    The response provided by a cache is stale (the content’s age exceeds a maximum age set by a Cache-Control header or heuristically chosen lifetime).
    111 Revalidation Failed
    The cache was unable to validate the response, due to an inability to reach the origin server.
    112 Disconnected Operation
    The cache is intentionally disconnected from the rest of the network.
    113 Heuristic Expiration
    The cache heuristically chose a freshness lifetime greater than 24 hours and the response’s age is greater than 24 hours.
    199 Miscellaneous Warning
    Arbitrary, non-specific warning. The warning text may be logged or presented to the user.
    214 Transformation Applied
    Added by a proxy if it applies any transformation to the representation, such as changing the content encoding, media type or the like.
    299 Miscellaneous Persistent Warning
    Same as 199, but indicating a persistent warning.

    See also

    • Custom error pages
    • List of FTP server return codes
    • List of HTTP header fields
    • List of SMTP server return codes
    • Common Log Format

    Explanatory notes

    1. ^ Emphasised words and phrases such as must and should represent interpretation guidelines as given by RFC 2119

    References

    1. ^ a b c «Hypertext Transfer Protocol (HTTP) Status Code Registry». Iana.org. Archived from the original on December 11, 2011. Retrieved January 8, 2015.
    2. ^ «RFC 9110: HTTP Semantics and Content, Section 10.1.1 «Expect»«.
    3. ^ Goland, Yaronn; Whitehead, Jim; Faizi, Asad; Carter, Steve R.; Jensen, Del (February 1999). HTTP Extensions for Distributed Authoring – WEBDAV. IETF. doi:10.17487/RFC2518. RFC 2518. Retrieved October 24, 2009.
    4. ^ Oku, Kazuho (December 2017). An HTTP Status Code for Indicating Hints. IETF. doi:10.17487/RFC8297. RFC 8297. Retrieved December 20, 2017.
    5. ^ Stewart, Mark; djna. «Create request with POST, which response codes 200 or 201 and content». Stack Overflow. Archived from the original on October 11, 2016. Retrieved October 16, 2015.
    6. ^ «RFC 9110: HTTP Semantics and Content, Section 15.3.4».
    7. ^ «RFC 9110: HTTP Semantics and Content, Section 7.7».
    8. ^ a b c d e Dusseault, Lisa, ed. (June 2007). HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV). IETF. doi:10.17487/RFC4918. RFC 4918. Retrieved October 24, 2009.
    9. ^ Delta encoding in HTTP. IETF. January 2002. doi:10.17487/RFC3229. RFC 3229. Retrieved February 25, 2011.
    10. ^ a b «RFC 9110: HTTP Semantics and Content, Section 15.4 «Redirection 3xx»«.
    11. ^ Berners-Lee, Tim; Fielding, Roy T.; Nielsen, Henrik Frystyk (May 1996). Hypertext Transfer Protocol – HTTP/1.0. IETF. doi:10.17487/RFC1945. RFC 1945. Retrieved October 24, 2009.
    12. ^ «The GNU Taler tutorial for PHP Web shop developers 0.4.0». docs.taler.net. Archived from the original on November 8, 2017. Retrieved October 29, 2017.
    13. ^ «Google API Standard Error Responses». 2016. Archived from the original on May 25, 2017. Retrieved June 21, 2017.
    14. ^ «Sipgate API Documentation». Archived from the original on July 10, 2018. Retrieved July 10, 2018.
    15. ^ «Shopify Documentation». Archived from the original on July 25, 2018. Retrieved July 25, 2018.
    16. ^ «Stripe API Reference – Errors». stripe.com. Retrieved October 28, 2019.
    17. ^ «RFC2616 on status 413». Tools.ietf.org. Archived from the original on March 7, 2011. Retrieved November 11, 2015.
    18. ^ «RFC2616 on status 414». Tools.ietf.org. Archived from the original on March 7, 2011. Retrieved November 11, 2015.
    19. ^ «RFC2616 on status 416». Tools.ietf.org. Archived from the original on March 7, 2011. Retrieved November 11, 2015.
    20. ^ TheDeadLike. «HTTP/1.1 Status Codes 400 and 417, cannot choose which». serverFault. Archived from the original on October 10, 2015. Retrieved October 16, 2015.
    21. ^ Larry Masinter (April 1, 1998). Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0). doi:10.17487/RFC2324. RFC 2324. Any attempt to brew coffee with a teapot should result in the error code «418 I’m a teapot». The resulting entity body MAY be short and stout.
    22. ^ I’m a teapot
    23. ^ Barry Schwartz (August 26, 2014). «New Google Easter Egg For SEO Geeks: Server Status 418, I’m A Teapot». Search Engine Land. Archived from the original on November 15, 2015. Retrieved November 4, 2015.
    24. ^ «Google’s Teapot». Retrieved October 23, 2017.[dead link]
    25. ^ «Enable extra web security on a website». DreamHost. Retrieved December 18, 2022.
    26. ^ «I Went to a Russian Website and All I Got Was This Lousy Teapot». PCMag. Retrieved December 18, 2022.
    27. ^ a b c d Nottingham, M.; Fielding, R. (April 2012). «RFC 6585 – Additional HTTP Status Codes». Request for Comments. Internet Engineering Task Force. Archived from the original on May 4, 2012. Retrieved May 1, 2012.
    28. ^ Bray, T. (February 2016). «An HTTP Status Code to Report Legal Obstacles». ietf.org. Archived from the original on March 4, 2016. Retrieved March 7, 2015.
    29. ^ alex. «What is the correct HTTP status code to send when a site is down for maintenance?». Stack Overflow. Archived from the original on October 11, 2016. Retrieved October 16, 2015.
    30. ^ Holtman, Koen; Mutz, Andrew H. (March 1998). Transparent Content Negotiation in HTTP. IETF. doi:10.17487/RFC2295. RFC 2295. Retrieved October 24, 2009.
    31. ^ Nielsen, Henrik Frystyk; Leach, Paul; Lawrence, Scott (February 2000). An HTTP Extension Framework. IETF. doi:10.17487/RFC2774. RFC 2774. Retrieved October 24, 2009.
    32. ^ «Enum HttpStatus». Spring Framework. org.springframework.http. Archived from the original on October 25, 2015. Retrieved October 16, 2015.
    33. ^ «Twitter Error Codes & Responses». Twitter. 2014. Archived from the original on September 27, 2017. Retrieved January 20, 2014.
    34. ^ «HTTP Status Codes and SEO: what you need to know». ContentKing. Retrieved August 9, 2019.
    35. ^ «Screenshot of error page». Archived from the original (bmp) on May 11, 2013. Retrieved October 11, 2009.
    36. ^ a b «Using token-based authentication». ArcGIS Server SOAP SDK. Archived from the original on September 26, 2014. Retrieved September 8, 2014.
    37. ^ «HTTP Error Codes and Quick Fixes». Docs.cpanel.net. Archived from the original on November 23, 2015. Retrieved October 15, 2015.
    38. ^ «SSL Labs API v3 Documentation». github.com.
    39. ^ «Platform Considerations | Pantheon Docs». pantheon.io. Archived from the original on January 6, 2017. Retrieved January 5, 2017.
    40. ^ «HTTP status codes — ascii-code.com». www.ascii-code.com. Archived from the original on January 7, 2017. Retrieved December 23, 2016.
    41. ^
      «Error message when you try to log on to Exchange 2007 by using Outlook Web Access: «440 Login Time-out»«. Microsoft. 2010. Retrieved November 13, 2013.
    42. ^ «2.2.6 449 Retry With Status Code». Microsoft. 2009. Archived from the original on October 5, 2009. Retrieved October 26, 2009.
    43. ^ «MS-ASCMD, Section 3.1.5.2.2». Msdn.microsoft.com. Archived from the original on March 26, 2015. Retrieved January 8, 2015.
    44. ^ «Ms-oxdisco». Msdn.microsoft.com. Archived from the original on July 31, 2014. Retrieved January 8, 2015.
    45. ^ «The HTTP status codes in IIS 7.0». Microsoft. July 14, 2009. Archived from the original on April 9, 2009. Retrieved April 1, 2009.
    46. ^ «ngx_http_request.h». nginx 1.9.5 source code. nginx inc. Archived from the original on September 19, 2017. Retrieved January 9, 2016.
    47. ^ «ngx_http_special_response.c». nginx 1.9.5 source code. nginx inc. Archived from the original on May 8, 2018. Retrieved January 9, 2016.
    48. ^ «return» directive Archived March 1, 2018, at the Wayback Machine (http_rewrite module) documentation.
    49. ^ «Troubleshooting: Error Pages». Cloudflare. Archived from the original on March 4, 2016. Retrieved January 9, 2016.
    50. ^ «Error 520: web server returns an unknown error». Cloudflare. Retrieved November 1, 2019.
    51. ^ «527 Error: Railgun Listener to origin error». Cloudflare. Archived from the original on October 13, 2016. Retrieved October 12, 2016.
    52. ^ «Error 530». Cloudflare. Retrieved November 1, 2019.
    53. ^ a b «Troubleshoot Your Application Load Balancers – Elastic Load Balancing». docs.aws.amazon.com. Retrieved August 27, 2019.
    54. ^ «Troubleshoot your Application Load Balancers — Elastic Load Balancing». docs.aws.amazon.com. Retrieved January 24, 2021.
    55. ^ «Hypertext Transfer Protocol (HTTP/1.1): Caching». datatracker.ietf.org. Retrieved September 25, 2021.
    56. ^ «Warning — HTTP | MDN». developer.mozilla.org. Retrieved August 15, 2021. CC BY-SA icon.svg Some text was copied from this source, which is available under a Creative Commons Attribution-ShareAlike 2.5 Generic (CC BY-SA 2.5) license.
    57. ^ «RFC 9111: HTTP Caching, Section 5.5 «Warning»«. June 2022.

    External links

    • «RFC 9110: HTTP Semantics and Content, Section 15 «Status Codes»«.
    • Hypertext Transfer Protocol (HTTP) Status Code Registry

    Jan 04, 2023

    Jordana A.

    15min Read

    What Are HTTP Status Codes + Full List of Status Code Explanations

    When you visit a website, your browser sends a request to the server to load the content. The server receives and fulfills the instructions, then sends back the matching resources with an HTTP header.

    During the process, the server returns several responses to the browser, indicating its status – whether it’s successful, redirected, or terminated due to an error.

    Understanding HTTP status codes and their usage are essential for identifying site issues and minimizing downtime. In addition, some of them provide helpful information for search engines and visitors.

    In this article, we will discuss 63 HTTP status codes and their usage. Furthermore, we will explain how to monitor them and their impact on search engine optimization (SEO).

    What Are HTTP Status Codes?

    HTTP response codes are three-digit numbers generated by a server to respond to a browser’s request. The Internet Assigned Numbers Authority (IANA) maintains the official registry of all statuses.

    The first digit defines the status code’s category, which begins with a number between one and five. For example, 1XX shows informational responses, while 5XX displays server error alerts.

    On the other hand, the last two are assigned for specific information under a given classification. For example, 404 indicates that the server can’t find the requested resource.

    HTTP defines request methods to indicate the desired action for a resource. Each implements a different semantic, but they have some common features, such as safe, idempotent, and cacheable. Here is the list:

    • GET – requests a specific resource representation and will only retrieve data.
    • HEAD – requests the same response as the GET method but without a message body.
    • POST – submits an entity to the specified resource, often changing the server’s state.
    • PUT – replaces all resource representations with the request payload.
    • DELETE – removes the specified response.
    • OPTIONS – explains the communication options for the resource.
    • TRACE – performs a message loop-back test along the path to the resource.
    • PATCH – applies partial modifications to a resource.

    How Are HTTP Status Codes Categorized?

    HTTP status codes have five categories based on the server responses sent to the browser:

    • 1XX informational – this class indicates that the server received the HTTP request sent by the browser and will continue the process. It is a temporary response, so the client won’t encounter this status code since it’s not the final answer.
    • 2XX success – this class indicates that the server received, understood, and processed the request. Subsequently, the browser accepts the expected information.
    • 3XX redirection – this class indicates that the server received the request, but the requested content was moved to a different location, so the client will be redirected.
    • 4XX client error – this class indicates that the server can’t complete the request because of a client-side error, such as an unavailable page, bad syntax, or authorization problem. The response will explain whether it is a temporary or permanent issue.
    • 5XX server error – this class indicates that the server encountered an error and can’t process a valid request. The response will describe the situation and determine whether it is a temporary or permanent problem.

    A Complete List of HTTP Status Codes

    Here is the complete list of HTTP status codes:

    Status code Functions
    1XX Informational
    100 Continue
    101 Switching Protocols
    102 Processing
    103 Early Hints
    2XX Successful
    200 OK
    201 Created
    202 Accepted
    203 Non-Authoritative Information
    204 No Content
    205 Reset Content
    206 Partial Content
    207 Multi-Status
    208 Already Reported
    226 IM Used
    3XX Redirection
    300 Multiple Choices
    301 Moved Permanently
    302 Found (Previously: Moved Temporarily)
    303 See Other
    304 Not Modified
    305 (Unused) Previously: Use Proxy
    306 (Unused) Previously: Switch Proxy
    307 Temporary Redirect
    308 Permanent Redirect
    4XX Client Error
    400 Bad Request
    401 Unauthorized
    402 Payment Required
    403 Forbidden
    404 Not Found
    405 Method Not Allowed
    406 Not Acceptable
    407 Proxy Authentication Required
    408 Request Timeout
    409 Conflict
    410 Gone
    411 Length Required
    412 Precondition Failed
    413 Payload Too Large
    414 URI Too Long
    415 Unsupported Media Type
    416 Range Not Satisfiable
    417 Expectation Failed
    418 (Unused) Previously: I’m a Teapot
    421 Misdirected Request
    422 Unprocessable Entity
    423 Locked
    424 Failed Dependency
    425 Too Early
    426 Upgrade Required
    428 Precondition Required
    429 Too Many Requests
    431 Request Header Fields Too Large
    451 Unavailable for Legal Reasons
    5XX Server Error
    500 Internal Server Error
    501 Not Implemented
    502 Bad Gateway
    503 Service Unavailable
    504 Gateway Timeout
    505 HTTP Version Not Supported
    506 Variant Also Negotiates
    507 Insufficient Storage
    508 Loop Detected
    510 (Unused) Not Extended
    511 Network Authentication Required

    Groups of HTTP Status Codes Individually Explained

    In the following sections, we will explain each of the items in our HTTP status codes list.

    1XX HTTP Status Codes

    The 1XX status codes contain informational responses and are divided into four types:

    100 Continue

    This code means that the server has received the initial part of the request. Once it accepts and processes the entire content, it will send a final response.

    Thus, the client should continue sending the remaining request and ignore the 100 status code.

    101 Switching Protocols

    This status code means that the server understands the Upgrade header field request and will comply with the change of application protocol.

    However, this response will only happen if the server considers it advantageous.

    102 Processing

    This code means that the server has received the full request and is processing it. At this point, there will be no response as it hasn’t completed it.

    The server will only send this status when the request takes a significantly longer time to finish.

    103 Early Hints

    This status code is used with the Link header to allow the browser to preload resources while the server is preparing a response.

    2XX HTTP Status Codes

    The 2XX status codes consist of successful responses and are divided into ten categories:

    200 OK

    This status code indicates that the request has succeeded. However, the actual meaning of the response depends on the request method used – GET, HEAD, POST, PUT, DELETE, OPTIONS, and TRACE.

    201 Created

    This status code means that the server has completed the request, creating one or more new resources. It is a typical response sent after a POST or PUT method.

    The new resources are identified by either a Location header field in the response or the target Uniform Resource Identifier (URI).

    202 Accepted

    This code indicates that the server has accepted the request for processing but is not finished yet. The status is non-committal, allowing a server to process another submission without requiring the user agent’s connection to persist until it is completed.

    The 202 accepted is intended for batch processing, where another process or server handles the request. This response will include the request’s current status, either a pointer to a status monitor or an estimated time.

    203 Non-authoritative Information

    This status code means that the request was successful. However, a transforming proxy has changed the information before sending it to the browser. Therefore, the server gathers the actual data from a local or third-party copy.

    This code allows the proxy to notify recipients when there is a change, as one transformation may impact decisions regarding the requested content. In most cases, it is used to mirror or back up another resource.

    204 No Content

    This status code indicates that the server has completed the request. However, there is no additional content to send in the response.

    This response must include a message body, allowing action inputs without changing the browser’s active page.

    205 Reset Content

    This status code means the server has fulfilled the request, and the user should reset the document view to its original state.

    This response is intended to support data entry on a notepad, form, canvas, etc.

    206 Partial Content

    The server sends this HTTP status code in response to the Range header sent by the client when requesting only part of a resource.

    Furthermore, the response must include the following header fields:

    • A Content-Range header indicating that the response contains the range, or a multipart or byteranges Content-Type, including Content-Range fields for each part.
    • Date.
    • ETag and/or Content-Location.
    • Expires, Cache-Control, and/or Vary.

    207 Multi-Status

    This response code conveys the status of multiple resources. It is a text/sml or application/xml HTTP entity with a multi-status root element. In addition, the server may use this code in success, partial, or failure situations.

    208 Already Reported

    This status code is used inside a DAV:propstat response element to prevent repeatedly enumerating the internal members of multiple bindings to the same collection. For each, only one will be reported with a 200 status, while others will use the 208 code.

    226 IM Used

    This status code means that the server has completed the GET request, and the response indicates that one or more instance-manipulations were implemented on the resource.

    3XX HTTP Status Codes

    The 3XX status codes contain redirection messages and are divided into nine types:

    300 Multiple Choices

    This status code means the request has multiple possible responses, and the user agent should choose one. The server wants the client to engage in reactive negotiation to select the most appropriate representation for their needs.

    Unless it is a HEAD request method, the response will include a list of resource characteristics and locations from which the user can choose.

    If the server has a preferred choice, it will generate a Location header field containing its URI reference. On the other hand, the user agent may use the Location field value for automatic redirection.

    301 Moved Permanently

    This HTTP status code means the requested resource has been moved to a new permanent URL. New references to it should use one of the page addresses included in the response.

    The server reply will contain a hypertext note with a hyperlink to the new URL unless the client uses a HEAD request method. For methods other than GET and HEAD, this status code will not redirect users to the new page unless the user agent agrees.

    302 Found (Previously: Moved Temporarily)

    This response code means the requested resource is temporarily available under a different URI. Therefore, future requests should use the current address included in the response.

    Unless the client uses the HEAD request method, the server reply will display a hypertext note with a link to the new URI(s). Otherwise, this status code will not redirect users to the new address unless they agree to it.

    The fastest way to fix the 302 error is to restore the site from a backup.

    303 See Other

    The server sends this response code to redirect the client to a different resource using the GET method.

    This status means the origin server can’t transmit the target resource’s representation over HTTP.

    304 Not Modified

    This status code informs the user that the response has not been modified. Thus, the client can use the currently cached version of the requested resource.

    It usually happens when the client uses either the GET or HEAD method or when the request is conditional and utilizes an If-None-Match or If-Modified-Since header.

    This server response is equivalent to the 200 OK code and comes with any of the following header fields – Content-Location, Date, ETag, Vary, Cache-Control, and Expires.

    To solve the 304 error, you may need to clear browser cache and flush DNS.

    305 Unused (Previously: Use Proxy)

    The server used this status code to inform the client to access the resource via a proxy and repeat the same request. The response would include the URI in the Location field.

    This status code was deprecated due to security concerns regarding in-band proxy configuration.

    306 Unused (Previously: Switch Proxy)

    Initially, the server used this response code to instruct the client to access the subsequent requests via a specified proxy.

    However, it’s no longer utilized, and the code is reserved for future uses.

    307 Temporary Redirect

    The server sends this HTTP status code to redirect the client to the target resource on another URI. Since it is temporary, the user may need to use the original address in the future.

    The only difference between this code and the 302 Found status is that with the 307 response, the client must not change the HTTP method used.

    308 Permanent Redirect

    This response code means that the requested resource has been permanently moved to a new URI included in the HTTP header.

    It has the same semantics as the 301 status, except that the 308 Permanent Redirect doesn’t allow the user to change the request method.

    4XX HTTP Status Codes

    The 400 status code contains client error responses such as:

    400 Bad Request

    This status code means the server failed to complete the request due to a client-side error, such as invalid syntax or deceptive routing. In this situation, the client should modify the request.

    If the 400 error occurs, make sure to check the URL and clear browser cache and cookies.

    401 Unauthorized

    This HTTP response means the server hasn’t processed the request because it doesn’t have valid user authentication credentials. Usually, the server sends this status with a WWW-Authenticate header field containing information on how to access it.

    However, if the request included credentials, the 401 error means that the server refused to authorize them.

    402 Payment Required

    This error code is a non-standard response reserved for future use. Initially, it was going to be implemented in digital payment systems. However, it is rarely used, and no standard convention regulates it.

    403 Forbidden

    This HTTP response means the origin server understood the request but refused to fulfill it. The 403 error occurs because the client doesn’t have enough rights to access the content. If the request includes authentication credentials, the server may consider them insufficient.

    Unlike the 401 error, re-authenticating makes no difference in this case, as access is permanently forbidden and tied to the application logic. However, the client may repeat the request with a new or different credential.

    404 Not Found

    The 404 status code is a frequent occurrence. It indicates that the origin server can’t find the requested resource, and no forwarding address is set.

    In a browser, the 404 error means the link is unrecognized or not found. Meanwhile, in an Application Programming Interface (API), the issue denotes that the endpoint is valid, but the resource doesn’t exist.

    Links that lead to the 404 status code are called broken or dead links and can be temporary or permanent.

    405 Method Not Allowed

    This status code means the origin web server recognizes the request method, but the resource doesn’t support it. The response will display an Allow header field containing a list of the resource’s supported methods.

    To fix the 405 error, verify the URL and check for database changes.

    406 Not Acceptable

    The server sends this invalid response when it doesn’t find any content suitable for the criteria given by the user according to the Accept headers received with the request.

    The server will display a list of available representations and corresponding resource identifiers so the user can choose the most appropriate one.

    407 Proxy Authentication Required

    The server displays this code when using a proxy. The client must provide valid authentication credentials to access the requested resource. Essentially, it is similar to 401 Unauthorized.

    408 Request Timeout

    This status code means the server didn’t receive the complete request message within the timeout period. Usually, the response will include a close connection option.

    To solve it, the client may repeat the request without modifications.

    This response may occur in many browsers, such as Chrome and Firefox, since they use the HTTP pre-connection mechanism to speed up the surfing time.

    409 Conflict

    The server can’t fulfill the request due to a conflict with the resource. It will display information regarding the problem so the client can fix it and resend the submission.

    In most cases, the conflict occurs in response to a PUT request.

    410 Gone

    This status code means the resource is unavailable permanently, and there is no forwarding address set. When a page displays this message, search engines will remove it from the index completely.

    This response intends to notify the client that the resource is intentionally unavailable and the site owner wants to delete any remote link leading to it.

    411 Length Required

    This response code indicates that the server rejected the request since it requires a defined Content-Length header field.

    412 Precondition Failed

    This status code means the server failed to meet one or multiple preconditions indicated in the request header fields.

    413 Payload Too Large

    This code means the request is too large, and the server refuses to process it.

    To solve the 413 error, the server may close the connection and generate a Retry-After header field implying that it is a temporary issue and the client should retry later.

    414 URI Too Long

    This status code means that the request URI is too long, and the server refuses to interpret it. Although this error is rare, some possible causes are:

    • A client has improperly converted a POST to a GET request with long query information.
    • A client has descended into a redirection loop.
    • A client attempts to exploit the server’s security holes.

    415 Unsupported Media Type

    This response code indicates the server rejects the request because the resource uses an unsupported media format. The issue may happen due to the Content-Type, Content-Encoding, or direct inspection of the data.

    416 Range Not Satisfiable

    This status code denotes that the server can’t fulfill the value specified in the request’s Range header field. It may occur because the resource doesn’t contain the range or its value is invalid.

    417 Expectation Failed

    The inbound server gives this response code when it can’t meet the requirements indicated in the Expect request-header field.

    418 Unused (Previously: I’m a Teapot)

    The status code references an April Fools joke called the Hyper Text Coffee Pot Control Protocol, which indicates that the server declines to brew coffee in a teapot.

    IANA reserves this number for future use. However, some websites utilize this status code to respond to requests they don’t want to handle.

    421 Misdirected Request

    This status code means the client sent a submission to a server that can’t produce a response for the scheme and authority combination included in the request-URI.

    The user may resend the request – whether or not the method is idempotent – over a different connection or using an alternative service.

    422 Unprocessable Entity

    This response means the client has sent the request correctly, but the server can’t process the submission due to semantic errors and other issues.

    423 Locked

    This HTTP status means that the request method’s resource is locked. The server response usually contains precondition or postcondition code, such as lock-token-submitted or no-conflicting-lock.

    424 Failed Dependency

    This response states that the request failed because it depended on another action, which also failed.

    425 Too Early

    The server sends this code to indicate that it refuses to process a request that might be replayed.

    426 Upgrade Required

    This status code means that the server declines to perform the request unless the client upgrades to a different protocol.

    428 Precondition Required

    This status code means the origin server requires a conditional request to ensure the client works with the correct copies.

    429 Too Many Requests

    The 429 error indicates that the client has sent too many requests at a time. The server will explain the condition and provide a Retry-After header informing how long the user has to wait before making another request.

    431 Request Header Fields Too Large

    This status code occurs when the request headers are too large and the server declines to process them. To fix the 431 error, the client may need to reduce the request size before resending it.

    451 Unavailable for Legal Reasons

    This response code occurs when the client requests a resource that has been removed due to legal reasons, such as a blocked site or page. This mostly affects Internet Service Providers (ISPs) and search engines.

    5XX HTTP Status Codes

    The 5XX status codes consist of server error responses. Here are some of the most common ones:

    500 Internal Server Error

    The HTTP 500 error indicates that the server encountered an unexpected issue that prevented it from fulfilling the request. Sometimes, administrators log this code with more information about the problem so it won’t happen again.

    501 Not Implemented

    This status code occurs when the server doesn’t support the functionality required to complete the request. The only methods servers are required to process are HEAD and GET.

    The server response may include a Retry-After header, informing the client when to check back if the functionality is available. This error requires a fix from the web server side.

    502 Bad Gateway

    The gateway or proxy server gives this status code when it receives an invalid response while attempting to fulfill the request. If your site displays a 502 error, you may have to contact your web host to fix it.

    503 Service Unavailable

    This status code means the server couldn’t handle the request due to temporary overload or scheduled maintenance.

    Usually, the 503 error comes with a Retry-After header field, suggesting how long the client needs to wait before resubmitting the request.

    504 Gateway Timeout

    The gateway or proxy server sends this status code when it hasn’t received a timely response from the upstream server to complete the request.

    To solve the 504 error, you may need to check your hosting resources if you’re the website owner or try using a different browser.

    505 HTTP Version Not Supported

    The server gives this code when it doesn’t support the HTTP version used in the request. The response will explain why that variant doesn’t work and offer acceptable protocols.

    506 Variant Also Negotiates

    This status code means the server is experiencing an internal configuration error. This happens when the chosen variant resource is configured to engage in transparent content negotiation. Hence, it’s not a proper endpoint.

    507 Insufficient Storage

    This response code means the method can’t work on the resource because the server can’t store the necessary representation to complete the request.

    508 Loop Detected

    The server sends this response when it terminates an operation because an infinite loop with Depth: infinity occurred, indicating that the entire process has failed.

    510 Unused (Previously: Not Extended)

    This status code indicated that the server needed further extensions to fulfill the request. Therefore, it had to send back all the necessary information so the client could issue an extended request.

    However, the Internet Engineering Task Force (IETF) has terminated this experimental code based on the status change document.

    511 Network Authentication Required

    This response indicates that the client must be authenticated to gain network access and will include a link where the user can submit their credentials.

    This status mitigates security issues caused by captive portals to software.

    How to Check a Page’s HTTP Status Code

    1XX and 2XX status codes are rarely visible to users. They will only see 3XX, 4XX, or 5XX response codes displayed on the browser when something goes wrong.

    However, some tools allow you to monitor a page’s response status codes, such as Google Search Console, WebSniffer, and Inspect Element.

    For example, you can see a page’s 200 and 304 codes using Chrome’s Inspect Element. Right-click anywhere on the page and select Inspect. Then, select Network on the top menu.

    A page's HTTP status codes displayed on Chrome's Inspect Element

    Using WebSniffer, you’re able to check the page’s HTTP Request Header by selecting the request type – GET, POST, or HEAD – and user agent, which allows you to see how the page loads on different browsers or even Googlebot.

    HTTP response header displayed on WebSniffer

    HTTP Status Codes and SEO

    Search engine bots register all HTTP status codes while crawling your site and will use this information to determine its health and ranking.

    Let’s see some of the status codes that significantly impact your site’s SEO:

    200 OK and SEO

    This status code shows that the page is properly functioning for crawlers and visitors. Receiving this response assures you that the page will pass link value to the URLs listed on it.

    301 Moved Permanently and SEO

    This code means visitors and bots will be permanently redirected to another URL. Web owners use this status code when transferring or changing their domain or merging two websites, as link equity will be passed to the new address.

    404 Not Found and SEO

    This status code may negatively impact your website’s SEO. If a page returns a 404 error, search engines won’t index it. In addition, even if it has external links pointing to it, they will no longer give link value to the page. Therefore, you need to fix this issue immediately.

    If a high-authority page with large traffic returns 404, create a 301 redirect to the most relevant page. However, if you removed the page on purpose, we recommend using a custom 404 page as suggested by the Google Search Console guide.

    Example of a custom 404 page

    5XX Server Errors and SEO

    These status codes slow down the crawling process, especially if the site has many individual URLs that return the 5XX error.

    Consequently, search engines’ algorithms may consider your site to be of low quality. They will eventually de-index those pages, so you will lose link equity and rankings.

    HTTP Status Codes Cheat Sheet

    Click the link below to download a free PDF of the most common HTTP status codes. For website owners, this cheat sheet is a must-have resource.

    Download Comprehensive HTTP Status Codes Cheat Sheet

    Conclusion

    HTTP status codes are important messages sent from the site’s server you’re trying to access. While some are invisible, others are displayed in the browser to indicate an issue.

    There are five categories of HTTP status codes:

    • 1XX informational – the server understood and will continue with the HTTP request.
    • 2XX success – the server received, processed, and sent back the expected response.
    • 3XX redirection – the server requires an additional action to fulfill the request due to resource relocation.
    • 4XX client error – the server couldn’t complete the request since there was a client-side issue.
    • 5XX server error – the server encountered an error and couldn’t fulfill the request.

    Understanding HTTP status codes helps website owners troubleshoot issues, maintain the site’s performance, and preserve SEO.

    We hope this article has helped you understand these server responses better. If you have any questions or suggestions, please leave them in the comments section below.

    HTTP Status Codes FAQ

    In this section, we will answer some of the most frequently asked questions about HTTP status codes.

    Will I See an HTTP Status Code Every Time a Website Error Occurs?

    Yes, an HTTP status code will appear whenever your website encounters an error. The only exception would be if there’s an interceptor placed between the server and the browser or if the client uses the console.clear() method.

    How Many HTTP Status Codes Are There?

    According to the IANA registry, status codes range from 100 to 599. However, only 63 of them are widely used. The rest are mainly unassigned.

    Author

    Jordana is a digital marketing and web development enthusiast. She loves spending her time in front of her laptop, working on new projects and learning new things. When she’s not busy with work, you can find her traveling the world in search of the best sushi!

    HTTPS Status Codes — это стандартизированные коды, которые веб-сервер возвращает в ответ на HTTP-запросы сетевых клиентов. Они помогают понять статус: было ли соединение успешным или такой страницы не существует, есть ли перенаправление или превышен таймаут. В этой статье — подробный список кодов ответов с понятным описанием.

    Помогаем

    Unrecognizable

    HTTP коды состояния

    Содержание:
    1. 1xx: Informational (информационные)
    2. 2xx: Success (успешно)
    3. 3xx: Redirection (перенаправление)
    4. 4xx: Client Error — ошибки со стороны клиента
    5. 5xx: Server Error (ошибка сервера) — ошибки на стороне сервера
    Заключение

    1. 1xx: Informational (информационные)

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

    Код Название Описание Версия 
    100 Continue Промежуточный ответ. Сообщает клиенту, что ему следует дальше пересылать заголовки. Если запрос уже выполнен, то ответ с кодом 100 можно игнорировать. HTTP/1.1
    101 Switching Protocol Сервер предлагает изменить протокол. В ответе он предоставляет доступные варианты, которые указываются в заголовке Upgrade. Клиент может послать новый запрос, выбрав один из предложенных протоколов. HTTP/1.1
    102 Processing Сервер обрабатывает запрос. HTTP/1.1
    103 Early Hints Сервер сообщает ресурсы, которые доступны для ранней загрузки, пока готовится основной ответ. HTTP/1.1

    2. 2xx: Success (успешно)

    Коды в этом диапазоне сообщают, что запрос клиента получен, понят и принят.

    Дізнайтеся, як утримувати work-life-баланс, від топменеджерки з досвідом в NPR, Microsoft, IBM та Amazon Alexa.

    РЕЄСТРУЙТЕСЯ!

    women

    Код Название Описание Версия 
    200 OK Успешное выполнение запроса. Информация зависит от метода, переданного клиентом. HTTP/0.9 и выше
    201 Created Сервер выполнил запрос и создал новый ресурс. Стандартный ответ для методов POST и PUT. HTTP/0.9 и выше
    202 Accepted Сервер принял запрос, но еще не обработал его. Не дает гарантий, что запрос успешно выполнится. Цель ответа — уведомить клиента, что запрос принят. HTTP/0.9 и выше
    203 Non-Authoritative Information Отображается информация не из оригинального источника. Например, это данные из кеша или резервной копии, которые могли устареть. HTTP/0.9 и 1.1
    204 No Content Запрос обработан, в ответе передаются только заголовки без тела сообщения. Например, при выполнении метода DELETE. В ответе также может быть информация, которая не отличается от переданной клиентом. HTTP/0.9 и выше
    205 Reset Content Сервер обработал запрос и призывает клиента сбросить отправленные данные. HTTP/0.9 и 1.1
    206 Partial Content Сервер выполнил часть GET-запроса. В ответ он передает ту часть, которую клиент указал в заголовке. HTTP/0.9 и 1.1
    207 Multi-Status (WebDAV) Сервер передает результаты выполнения нескольких операций. RFC 4918
    208 Already Reported (WebDAV) Включен в ответ 207. RFC 4918
    226 IM Used Сервер принял заголовок A-IM и возвращает содержимое, учитывая параметры. HTTP/1.1

    3. 3xx: Redirection (перенаправление)

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

    Код Название Описание Версия 
    300 Multiple Choices У запрошенного ресурса множество представлений. Каждое из них имеет собственное расположение. Вместе с ответом сервер показывает список альтернативных ресурсов. Клиент может выбрать вариант автоматически или предоставить выбор пользователю. HTTP/1.0 и выше
    301 Moved Permanently Запрошенный документ перенесен на постоянной основе на другой URL. Будущие обращения должны выполняться по URL, который возвращается в ответе.Ответ по умолчанию кешируется. HTTP/0.9 и выше
    302 Found Запрошенный ресурс временно перемещен на другой URL. Но клиенту следует использовать тот же URL, так как в любой момент перенаправление может измениться. По умолчанию ответ кешируется. HTTP/0.9 и выше
    303 See Other Документ по указанному адресу может быть доступен по другому URL. Чтобы найти его, клиент должен передать в Location метод GET. Этот код появился вместе с 307, чтобы исключить неоднозначные ситуации. Сервер, отдавая код 303, уверен, что следующий ресурс будет запрошен методом GET. HTTP/0.9 и выше
    304 Not Modified Сервер возвращает код 304, когда клиент запрашивает ресурс методом GET и использует заголовок If-Modified-Since или If-None-Match, но документ не изменен. В сообщении сервера приходит только заголовок, тела нет. HTTP/0.9 и выше
    305 Use Proxy Для доступа к запрошенному ресурсу необходимо использовать прокси-сервер, который указан в Location. Многие HTTP-клиенты обрабатывают такой запрос некорректно по соображениям безопасности. В их числе — Mozilla Firefox и Internet Explorer. HTTP/1.1
    306 (Unused) Код больше не используется, хотя был зарезервирован в ранних спецификациях. HTTP/1.1
    307 Temporary Redirect Запрошенный ресурс временно находится на другом URL. Так как перенаправление может измениться в любой момент, клиенту следует продолжать использовать запрос URL дальше. Ответ по умолчанию не кешируются. Чтобы кешировать данные, в заголовках Cache-Control или Expires нужно прямо это указать. HTTP/1.1
    308 Permanent Redirect (experimental) Сервер сообщает, что клиенту нужно повторить запрос на другой URL. Код ответа говорит о том, что ресурс перенаправлен на постоянной основе. Он находится в другом URL, который указан в заголовке Location. Черновик спецификации

    4. 4xx: Client Error — ошибки со стороны клиента

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

    Код Название Версия
    400 Bad Request HTTP/0.9 и выше
    401 Unauthorized 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 HTTP/1.1
    406 Not Acceptable HTTP/1.1
    407 Proxy Authentication Required HTTP/1.1
    408 Request Timeout HTTP/1.1
    409 Conflict HTTP/1.1
    410 Gone HTTP/1.1
    411 Length Required HTTP/1.1
    412 Precondition Failed HTTP/1.1
    413 Request Entity Too Large HTTP/1.1
    414 Request-URL Too Long HTTP/1.1
    415 Unsupported Media Type HTTP/1.1
    416 Requested Range Not Satisfiable HTTP/1.1
    417 Expectation Failed HTTP/1.1
    418 I’m a teapot (RFC 2324) RFC 2324
    420 Enhance Your Calm (Twitter) Twitter
    422 Unprocessable Entity (WebDAV) RFC 4918
    423 Locked (WebDAV) RFC 4918
    424 Failed Dependency (WebDAV) RFC 4918
    425 Reserved for WebDAV
    426 Upgrade Required RFC 7231
    428 Precondition Required RFC 6585
    429 Too Many Requests RFC 6585
    431 Request Header Fields Too Large RFC 6585
    444 No Response (Nginx) Nginx
    449 Retry With (Microsoft) Microsoft
    450 Blocked by Windows Parental Controls (Microsoft) Microsoft
    451 Unavailable For Legal Reasons RFC 7725
    499 Client Closed Request (Nginx) Nginx

    401: Unauthorized

    Чтобы выполнить запрос, пользователь должен пройти аутентификацию. В заголовке ответа сервер передает перечень условий для аутентификации. Клиент может выполнить запрос повторно, добавив в него требуемые данные. Если такая информация изначально была в запросе, то ошибка 401 показывает, что авторизация отклонена.

    402: Payment Required

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

    403: Forbidden

    Сервер понял, что от него хочет пользователь, но отказывается выполнять запрос. Причина — у клиента ограничен доступ к запрашиваемому ресурсу. Если для доступа нужна аутентификация через HTTP, то сервер вернет ошибку 401 или 407.
    Ошибка 403 говорит о том, что ограничения задал администратора сервера или разработчик веб-приложения. Обычно ошибка появляется при попытке открыть системные ресурсы.

    404: Not Found

    По указанному URL нет ресурсов. Это самая распространенная ошибка в интернете. Она появляется, когда пользователь, например, вводит неправильный адрес страницы. Еще одна причина — страница была по этому адресу, но затем ее удалили.

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

    405: Method Not Allowed

    Указанный метод нельзя применить к ресурсу. В ответе содержится список разрешенных методов. Сервер возвращает ошибку 405, если ему знаком переданный клиентом метод, но он не применяет его к указанному ресурсу. Если метод не применяется на всем сервере, то нужно возвращать ошибку 501.

    406: Not Acceptable

    Запрошенный ресурс не отвечает характеристикам, которые клиент передал в заголовках запроса. Если в запросе указан не метод HEAD, то сервер в ответе возвращает список допустимых характеристик.

    407: Proxy Authentication Required

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

    408: Request Timeout

    Клиент не отправил запрос в тот промежуток времени, когда сервер его ждал. Повторить запрос можно в любое время. Например, такая ситуация возникает при использовании методов POST и PUT. Источник данных перестает отвечать, сервер ждет продолжения, но через какое-то время прерывает соединение. Ответ не возвращается, если клиент принудительно остановил передачу данных.

    409: Conflict

    Конфликт в текущем состоянии ресурса мешает обработать запрос. Код возвращается только в тех случаях, когда ожидается, что пользователь в состоянии сам устранить проблему, после чего повторить запрос.
    В идеале ответ также содержит информацию, которая помогает разрешить конфликт. Подобные проблемы возникают, например, при использовании метода PUT в случае, если версии отличаются.

    410: Gone

    Ресурс недоступен на сервере и новый адрес его местоположения неизвестен. Предполагается, что это постоянное состояние. Если сервер не знает или не может определить, постоянное это состояние или временное, он возвращает ошибку 404. Ответ 410 можно кешировать до тех пор, пока не появится другая информация.

    411: Length Required

    Сервер не принимает запрос, если в заголовке не указан Content-Length. Без заполнения этого поля нет смысле делать запрос повторно. Такой ответ возвращается при использовании методов POST и PUT.
    Стандартная ситуация — при загрузке файлов оказывается, что на сервер стоит ограничение на объем. В таком случае разумнее сразу сообщить клиенту о превышении ограничения, разорвав соединение до начала загрузки.

    412: Precondition Failed

    Ответ с кодом 412 возвращается, если не было выполнено ни одно из условий, указанных в заголовке.

    413: Request Entity Too Large

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

    414: Request-URL Too Long

    Сервер отказался обрабатывать запрос из-за слишком длинного URL. Это редкая ошибка, которая встречается, когда клиент передает параметры методом GET, а не POST. В итоге они все записываются в URL, который становится слишком длинным для обработки. Также ошибка используется для защиты от атак.

    415: Unsupported Media Type

    Сервер отказался обрабатывать запрос, так как в его теле содержатся данные с неподдерживаемым форматом. Например, клиент пытается передать на сервер изображение, а сервер ожидает текстовый файл.

    416: Requested Range Not Satisfiable

    Сервер возвращает ошибку, если ни одно из значений в заголовке Range запроса не совпало с размером выбранного ресурса, при этом в запросе не было заголовка If-Range. Например, клиент запрашивает часть файла, но сервер не может ее передать, потому что она находится за пределами конца файла.

    417: Expectation Failed

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

    418: I’m a teapot (RFC 2324)

    Код появился 1 апреля 1998 года как шутка. Ожидалось, что он не будет поддерживаться реальными серверами. Однако реализация кода состояния 418 существует. Например, Nginx использует его для имитации goto-подобного поведения.

    420: Enhance Your Calm (Twitter)

    Twitter Search и Trends API возвращают код состояния 420, когда клиент отправляет слишком много запросов. Этот номер использует только Twitter. Большинство серверов сигнализирует о большом количестве запросов ошибкой с номером 429.

    422: Unprocessable Entity (WebDAV)

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

    423: Locked (WebDAV)

    Статус говорит о том, что целевой ресурс недоступен для указанного метода. В ответе должно содержаться предусловие или постусловие, например, ‘lock-token-submitted’ или ‘no-conflicting-lock’.

    424: Failed Dependency (WebDAV)

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

    425: Reserved for WebDAV

    Статус зарезервирован для проекта WebDAV Advanced Collections Protocol.

    426: Upgrade Required

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

    428: Precondition Required

    Исходный сервер требует, чтобы запрос был условным. Благодаря этому статусу можно предотвратить ситуацию, когда клиент получает состояние ресурса, изменяет его и отправляет обратно, при этом третья сторона меняет состояние на сервере, что приводит к конфликту.

    429: Too Many Requests

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

    431: Request Header Fields Too Large

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

    444: No Response (Nginx)

    Код состояния, введенный Nginx. Он сигнализирует, что сервер не вернул данные и закрыл соединение. Используется, например, для защиты от вредоносных программ.

    449: Retry With (Microsoft)

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

    450: Blocked by Windows Parental Controls (Microsoft)

    Это расширение предложила компания Microsoft для лучшей работы функции родительского контроля. Если на Windows включен родительский контроль, то статус 450 появляется при попытке клиента перейти на запрещенную веб-страницу.

    451: Unavailable For Legal Reasons

    Сервер сообщает, что доступ к ресурсу закрыли по юридическим причинам. Наиболее близкий код — 403. 451 тоже сигнализирует, что сервер понял запрос, но отказывается его обрабатывать, например, из-за судебного запрета или по требованию органов государственной власти. Код состояния предложен Google в черновике IETF.

    499: Client Closed Request (Nginx)

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

    5. 5xx: Server Error (ошибка сервера) — ошибки на стороне сервера

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

    Код Название Версия
    500 Internal Server Error HTTP/0.9 и выше
    501 Not Implemented HTTP/0.9 и выше
    502 Bad Gateway HTTP/0.9 и выше
    503 Service Unavailable HTTP/0.9 и выше
    504 Gateway Timeout HTTP/1.1
    505 HTTP Version Not Supported HTTP/1.1
    506 Variant Also Negotiates (Experimental) RFC 2295
    507 Insufficient Storage (WebDAV) RFC 4918
    508 Loop Detected (WebDAV) RFC 5842
    509 Bandwidth Limit Exceeded (Apache) Только cPanel
    510 Not Extended RFC 2774
    511 Network Authentication Required RFC 6585
    598 Network read timeout error
    599 Network connect timeout error

    500 Internal Server Error

    Сервер не обработал запрос, потому что столкнулся с неизвестными условиями. Универсальный код, который сообщает об исключении на стороне сервера.

    501 Not Implemented

    Сервер не может обработать запрос, потому что у него нет такой функции. Типичный ответ для ситуации, когда сервер не понимает метод. Иногда разработчики дописывают к этому статусу сообщение в духе «Скоро такая возможность появится» (если планируют ее внедрить).

    502: Bad Gateway

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

    503: Service Unavailable

    Сервер не обработал запрос из-за технических работ или перезагрузки. Если время восстановления известно, можно передать его в заголовке Retry-After.

    504: Gateway Timeout

    Сервер в роли прокси-сервера или шлюза не дождался ответа от вышестоящего сервера в рамках таймаута. Некоторые прокси возвращают статусы 400 и 500, когда DNS-запрос обрабатывается дольше таймаута.

    505: HTTP Version Not Supported

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

    506: Variant Also Negotiates (Experimental)

    Внутренняя ошибка конфигурации, из-за которой сервер указывает сам на себя.

    507: Insufficient Storage (WebDAV)

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

    508: Loop Detected (WebDAV)

    При выполнении запроса сервер обнаружил бесконечный цикл.

    509: Bandwidth Limit Exceeded (Apache)

    Веб-площадка превысила лимит на потребление трафика. Введен панелью управления хостингом cPanel, используется только ей.

    510: Not Extended

    Не соблюдена политика доступа. Сервер в ответ должен прислать информацию, которая поможет клиенту отправить расширенный запрос.

    511: Network Authentication Required

    Чтобы получить доступ к сети, клиенту нужно авторизоваться. В ответе должна содержаться ссылка на форму авторизации. Ответ посылает не сервер, которому предназначался запрос, а сервер-посредник — например, принадлежащий провайдеру.

    598: Network read timeout error

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

    599: Network connect timeout error

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

    Заключение

    Необязательно помнить все коды статусов ответов. Самые распространенные вроде 200, 404, 403, 504 и так останутся в голове. Описания остальных ответов всегда можно посмотреть в документации.
    Если хотите больше узнать о протоколе HTTP, его методах и кодах ответа, посмотрите это дополнительное видео:

    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии

    А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Http ошибка 403 utorrent
  • Http коды ошибок php