Http ошибка 305

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. The status code is deprecated.[4]
103 Early Hints (RFC 8297)
Used to return some response headers before final HTTP message.[5]

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.[6]
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.[7][8]
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.[9]
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.[10]

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.[11]

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»),[12] 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.[11]
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,[14] 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.[15] Sipgate uses this code if an account does not have sufficient funds to start a call.[16] Shopify uses this code when the store has not paid their fees and is temporarily disabled.[17] Stripe uses this code for failed payments where parameters were correct, for example blocked fraudulent payments.[18]
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.[19]
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.[20]
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.[21]
417 Expectation Failed
The server cannot meet the requirements of the Expect request-header field.[22]
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.[23] This HTTP status is used as an Easter egg in some websites, such as Google.com’s «I’m a teapot» easter egg.[24][25][26] Sometimes, this status code is also used as a response to a blocked request, instead of the more appropriate 403 Forbidden.[27][28]
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.[9]
423 Locked (WebDAV; RFC 4918)
The resource that is being accessed is locked.[9]
424 Failed Dependency (WebDAV; RFC 4918)
The request failed because it depended on another request and that request failed (e.g., a PROPPATCH).[9]
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.[29]
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.[29]
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.[29]
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.[30] 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.[31]
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.[32]
507 Insufficient Storage (WebDAV; RFC 4918)
The server is unable to store the representation needed to complete the request.[9]
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 fulfil it.[33]
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).[29]

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.[34]
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.[35] 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.[36]
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.[37]
498 Invalid Token (Esri)
Returned by ArcGIS for Server. Code 498 indicates an expired or otherwise invalid token.[38]
499 Token Required (Esri)
Returned by ArcGIS for Server. Code 499 indicates that a token is required but was not submitted.[38]
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.[39]
529 Site is overloaded
Used by Qualys in the SSLLabs server testing API to signal that the site can’t process the request.[40]
530 Site is frozen
Used by the Pantheon Systems web platform to indicate a site that has been frozen due to inactivity.[41]
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.[42]
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.[43]
449 Retry With
The server cannot honour the request because the user has not provided the required information.[44]
451 Redirect
Used in Exchange ActiveSync when either a more efficient server is available or the server cannot access the users’ mailbox.[45] The client is expected to re-run the HTTP AutoDiscover operation to find a more appropriate server.[46]

IIS sometimes uses additional decimal sub-codes for more specific information,[47] 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.[48][49]

444 No Response
Used internally[50] 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.[51]

520 Web Server Returned an Unknown Error
The origin server returned an empty, unknown, or unexpected response to Cloudflare.[52]
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.[53]
530
Error 530 is returned along with a 1xxx error.[54]

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.[55]
463
The load balancer received an X-Forwarded-For request header with more than 30 IP addresses.[55]
464
Incompatible protocol versions between Client and Origin server.[55]
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. ^ Fielding, Roy T. «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. ^ «102 Processing — HTTP MDN». 102 status code is deprecated
  5. ^ Oku, Kazuho (December 2017). An HTTP Status Code for Indicating Hints. IETF. doi:10.17487/RFC8297. RFC 8297. Retrieved December 20, 2017.
  6. ^ 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.
  7. ^ «RFC 9110: HTTP Semantics and Content, Section 15.3.4».
  8. ^ «RFC 9110: HTTP Semantics and Content, Section 7.7».
  9. ^ 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.
  10. ^ Delta encoding in HTTP. IETF. January 2002. doi:10.17487/RFC3229. RFC 3229. Retrieved February 25, 2011.
  11. ^ a b «RFC 9110: HTTP Semantics and Content, Section 15.4 «Redirection 3xx»«.
  12. ^ 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.
  13. ^ «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.
  14. ^ «Google API Standard Error Responses». 2016. Archived from the original on May 25, 2017. Retrieved June 21, 2017.
  15. ^ «Sipgate API Documentation». Archived from the original on July 10, 2018. Retrieved July 10, 2018.
  16. ^ «Shopify Documentation». Archived from the original on July 25, 2018. Retrieved July 25, 2018.
  17. ^ «Stripe API Reference – Errors». stripe.com. Retrieved October 28, 2019.
  18. ^ «RFC2616 on status 413». Tools.ietf.org. Archived from the original on March 7, 2011. Retrieved November 11, 2015.
  19. ^ «RFC2616 on status 414». Tools.ietf.org. Archived from the original on March 7, 2011. Retrieved November 11, 2015.
  20. ^ «RFC2616 on status 416». Tools.ietf.org. Archived from the original on March 7, 2011. Retrieved November 11, 2015.
  21. ^ 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.
  22. ^ 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.
  23. ^ I’m a teapot
  24. ^ 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.
  25. ^ «Google’s Teapot». Retrieved October 23, 2017.[dead link]
  26. ^ «Enable extra web security on a website». DreamHost. Retrieved December 18, 2022.
  27. ^ «I Went to a Russian Website and All I Got Was This Lousy Teapot». PCMag. Retrieved December 18, 2022.
  28. ^ 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.
  29. ^ 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.
  30. ^ 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.
  31. ^ Holtman, Koen; Mutz, Andrew H. (March 1998). Transparent Content Negotiation in HTTP. IETF. doi:10.17487/RFC2295. RFC 2295. Retrieved October 24, 2009.
  32. ^ Nielsen, Henrik Frystyk; Leach, Paul; Lawrence, Scott (February 2000). An HTTP Extension Framework. IETF. doi:10.17487/RFC2774. RFC 2774. Retrieved October 24, 2009.
  33. ^ «Enum HttpStatus». Spring Framework. org.springframework.http. Archived from the original on October 25, 2015. Retrieved October 16, 2015.
  34. ^ «Twitter Error Codes & Responses». Twitter. 2014. Archived from the original on September 27, 2017. Retrieved January 20, 2014.
  35. ^ «HTTP Status Codes and SEO: what you need to know». ContentKing. Retrieved August 9, 2019.
  36. ^ «Screenshot of error page». Archived from the original (bmp) on May 11, 2013. Retrieved October 11, 2009.
  37. ^ a b «Using token-based authentication». ArcGIS Server SOAP SDK. Archived from the original on September 26, 2014. Retrieved September 8, 2014.
  38. ^ «HTTP Error Codes and Quick Fixes». Docs.cpanel.net. Archived from the original on November 23, 2015. Retrieved October 15, 2015.
  39. ^ «SSL Labs API v3 Documentation». github.com.
  40. ^ «Platform Considerations | Pantheon Docs». pantheon.io. Archived from the original on January 6, 2017. Retrieved January 5, 2017.
  41. ^ «HTTP status codes — ascii-code.com». www.ascii-code.com. Archived from the original on January 7, 2017. Retrieved December 23, 2016.
  42. ^
    «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.
  43. ^ «2.2.6 449 Retry With Status Code». Microsoft. 2009. Archived from the original on October 5, 2009. Retrieved October 26, 2009.
  44. ^ «MS-ASCMD, Section 3.1.5.2.2». Msdn.microsoft.com. Archived from the original on March 26, 2015. Retrieved January 8, 2015.
  45. ^ «Ms-oxdisco». Msdn.microsoft.com. Archived from the original on July 31, 2014. Retrieved January 8, 2015.
  46. ^ «The HTTP status codes in IIS 7.0». Microsoft. July 14, 2009. Archived from the original on April 9, 2009. Retrieved April 1, 2009.
  47. ^ «ngx_http_request.h». nginx 1.9.5 source code. nginx inc. Archived from the original on September 19, 2017. Retrieved January 9, 2016.
  48. ^ «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.
  49. ^ «return» directive Archived March 1, 2018, at the Wayback Machine (http_rewrite module) documentation.
  50. ^ «Troubleshooting: Error Pages». Cloudflare. Archived from the original on March 4, 2016. Retrieved January 9, 2016.
  51. ^ «Error 520: web server returns an unknown error». Cloudflare.
  52. ^ «527 Error: Railgun Listener to origin error». Cloudflare. Archived from the original on October 13, 2016. Retrieved October 12, 2016.
  53. ^ «Error 530». Cloudflare. Retrieved November 1, 2019.
  54. ^ a b c d «Troubleshoot Your Application Load Balancers – Elastic Load Balancing». docs.aws.amazon.com. Retrieved May 17, 2023.
  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 at the Internet Assigned Numbers Authority
  • MDN status code reference at mozilla.org

We’ve all seen them; those annoying messages that crop up on screen when we try and bring up a website. But do you know what they mean? We researched the many HTTP error messages in use, and the following is an explanation of each one in simple terms, together with advice on what to do when you are party to that message.

300 Series – Redirection Messages

300 HTTP Error (Multiple Choices)

This error message indicates that the particular site or other resource you are trying to access is no longer in that location. You will see the code plus a choice of new locations. The message could be caused by an incomplete URL or one that includes other locations within it; perhaps a list of ‘inner’ pages that may need to be individually selected.

What to do: in the first instance, enter the URL you are using in the browser. You may see a web page asking you for another action; if this is case, you are using a URL that the browser considers to be short on specific detail. Select one of the choices offered to proceed, or send the website a message if you are concerned.

301 HTTP Error (Moved Permanently)

This indicates a permanent relocation of the URL. The site or resource you are trying to access is no longer at that address, and the message should include the new location. Users should use the new address given in the message.

What to do: a 301 message should include the new URL; if so then the browser ought to retry accessing the new URL. Users should, in fact, not actually see a 301 message if it operates correctly, as reconnection should be automatic. There are occasions when corruption can lead to incorrect response from a 301 message. If this is so, contact the webmaster and inform them of the problem for ease of use in the future.

302 HTTP Error (Moved Temporarily)

The most commonly experienced redirection message, 302 means that the server believes the URL to have been redirected, temporarily, to an alternative address. The location of the new URL should be included in the message, and redirection should be automatic, as above.

What to do: as the required site or resource is located for the time being at an alternative address, the user should still use the original address and the request will be redirected. Alternatively, the server should show the new URL at which to access the information required.

303 HTTP Error (See Other)

This code is telling the user that the response can be found at a specific URL, as will be displayed. That URL should not be cached as the original URL has not been moved. The new URL is not, it should be stressed, a replacement for the one used; it simply is using a new URL for reasons the user may not be party to. This message may be seen quite frequently, as it is a much used method of redirection.

What to do: first and foremost, never cache the new URL, simply use it – if not automatically redirected – as the destination. if not using a HEAD request method, a hypertext note should be included in the response, or contact with the website at the relevant email address should be made.

304 HTTP Error (Not Modified)

Not strictly an error message, 304 merely tells the user that no changes have been made since the URL was accessed previously. Some web browsers do not allow for 304 messages, hence seeing one means that you browser does so. It is helpful in understanding whether information at the URL is up to date or has been modified.

What to do: a 304 message will, in most cases, send the user to the website requested as it is for information only, as it understands that the site has not been changed. Any problems, contact the website at its relevant email address.

305 HTTP Error (Use Proxy)

The 305 code is informing you that the site or resource you are requesting must be accessed via a proxy, and this will be given in the message. Basically, your web server believes that the URL you want is via proxy, possibly down to reasons of security. This can be a problematic code and is often dealt with incorrectly.

What to do: in the location field you will find the address of the proxy URL; simply use this to access the resource and bring up the information required.

306 HTTP Error

This 300 code is now defunct.

307 HTTP Error (Temporary Redirect)

Quite simply, a 307 error informs the user that the URL requested is temporarily available at an alternative URL, which will be outlined in the message itself. Users should redirect as instructed, but use the original URL in future.

What to do: use the temporary URL to access the required information; the message may include a hyperlink to the new URL for the use of the user.

400 Series – Client Error

400 HTTP Error (Bad Request)

This is a common error indicating that the information you sent to the server, the website address perhaps, is not able to be processed for one of many reasons. The error message will be seen within the browser window, and will occur within any operating system.

What to do: there are a number of reasons why a 400 error will be recorded, so the routine is to perform one of the following:

a) Most often the 400 error is displayed thanks to incorrectly typed website addresses, or malfunctioning links. Check the spelling of the address carefully and look for characters that are not typically present in addresses.

b) Perform a clear on your cookies; this is most likely to work should your 400 error refer to a Google request. Cookies can be corrupt or out of date.

c) DNS records stored on your computer may be out of date, so clearing your DNS cache may solve the problem. Use the ipconfig/flushdns prompt in Command Prompt on Windows.

d) Your browser cache may contain corrupt versions of the web page required, hence could be the cause of the 400 error. A quick and simple clearing of the cache could solve the problem.

e) It is not common but a 400 error could mistakenly refer to a gateway timeout, in which servers take too long to respond.

f) Should the above not be helpful you need to contact the website concerned. Sometimes a 400 error is at their end of the chain, and not yours. Send them an email informing them of the problem.

g) The security of your device should always be kept updated; make sure you install all updates from Microsoft, and invest in anti-virus software as a matter of course. Poor security can lead to problems that relate to 400 errors.

h) If none of the above help it could be that you need to come back in a while and try again; the problem is with the website, so they will fix it in time.

401 HTTP Error (Unauthorized)

This commonly seen code tells you that the resource you were requesting requires a password and user ID. You have either not logged in with those, or you have given incorrect information. You will see it within the browser window, and on any operating system.

What to do: there are several possible reasons for a 401 error:

a) You may have entered an incorrect URL or you could have been trying to access a part of the site reserved for authorized users only. Check the URL you have entered is correct.

b) Search the website’s home page for links to ‘Login’ or ‘Secure Access’ and enter your password and user name as requested. Should you now already have those, there will be instructions on how to register.

c) Should you believe that such authorization is not necessary them you may be seeing a 401 message mistakenly. The answer is to contact the website directly and tell them the details of your problem, for others may be having the same problem. It’s worth knowing that the webmaster may usually be found at webmaster@’insertwebsitename.com’.

d) If you get the message after logging in it is possible your information is incorrect. There will be directions on the website to reset your information.

402 HTTP Error (Payment Required)

An as yet unused code that is reserved for possible use in the future.

403 HTTP Error (Forbidden)

This strict message says that the information you are trying to reach is forbidden to you. As above, there are many reasons why you might see a 403 Forbidden message.

What to do: The following are several steps you can take should you receive this message:

a) First, make sure the URL is correct and that the page you are looking for is an actual page; do not get confused by directory addresses, which are likely to be forbidden in most websites and will naturally return a 403 when requested.

b) It could be that a previously cached version of the page you are looking for is the problem; clear the web browser cache.

c) If you are logged into a site and are seeing a 403 when requesting a page, it is probable that you do not have the authority to access that particular information.

d) Cookies, out of date or corrupt, can also lead to a 403; clear your browser cookies and try again.

e) The 403 could be as a result of problems at the website, so let them know of the problem via email.

f) Sometimes IP addresses – and occasionally ISP’s – are blacklisted by websites; this could be a cause of a 403, so check with the website concerned.

g) Try again later, especially if you are aware that the 403 error is not just occurring for you. It could be they are aware of the problem and working to fix it.

404 HTTP Error (Not Found)

A 404 error tells you that the page requested simply could not be found on the website’s server. It could be that you are trying to find a page that has been removed, or it might be that the website has failed to inform you of a redirect or has not performed it correctly. A 404 will occur if this is the case.

What to do: there are several different possible solutions to a 404 error:

a) Use the F5 function to retry loading the page, or retype the URL in the address bar and try again. Sometimes refreshing the page can eliminate a 404 message as there is not actually a problem.

b) Make sure you have typed the URL correctly as incorrect spelling or unnecessary characters can result in a 404.

c) Move up through the directories by eliminating the sections in the website address: i.e. if you began with www.website.com/x/y/z then try www.website.com/x/y and so on, until something loads. If all that can be loaded is the Home page, try and use a search function to find the resource you require. If there is no search function, use navigation by the links on the home page.

d) Use a search engine and you may find that you are entering the wrong URL; once you find the correct one, be sure to bookmark it so that you do not get repeated 404 errors.

e) If you find that you can reach the resource on one device but not on another it could be that your browser cache on the troubled device is causing the problem. Cookies can also have the same effect, so clear them both on the problematic device.

f) You could try using different DNS servers to access the website, especially if the entire website is returning a 404, which is not a common occurrence. Sometimes censorship can return a 404, in other words you may be trying to access restricted content, and a DNS server change may help.

g) If none of the above fixes the 404 let the website known by email or other forms of contact, as they may not be aware that the error is present. They will be pleased to receive the information and will set about fixing it.

405 HTTP Error (Method Not Allowed)

However you are trying to access the information you require, it is not permitted. You may be using a GET method where POST is required, so you need to check the request method. The response should include a list of valid methods.

What to do: check the script you are trying to run is supported by the ISP, as some do not allow them to be run. This will return a 405. It may also be that the form you are trying to use is not permitted; for processing forms, some methods are not supported by certain ISP’s and will return a 405. Your ISP should have the information required, or you can contact the website direct.

406 HTTP Error (Not Acceptable)

When a user makes a request to a browser, the browser then files that request to the server; a 406 error says that the format used is not acceptable to the server, so the information returned is the error message. This error can also result from certain firewall applications, which look for set rules that need to be adhered to.

What to do: if the problem is with said firewall – known as Mod_security – the system can be disabled. If you are technically minded and have access to the source codes and data streams, plus the Access Headers, you may be able to deduce the cause of the 406, but it is probably best to contact the technical support team responsible for the system concerned.

407 HTTP Error (Proxy Authentication Required)

Although the information sent to the web server is correct, the system has detected that to process the information requires the use of a proxy, which will require a password and ID for authentication.

What to do: your ISP should be able to provide you with the relevant information on available proxy servers, or you could try navigating to the resource by another method, perhaps an alternative URL for the proxy server list. Contact the relevant parties if problems persist.

408 HTTP Error (Request Timeout)

When a web server detects that an inordinate length of time has passed between either a connection to a web browser or a socket, it will ‘drop’ the connection and return a 408 error message. As the request has genuinely been timed out, the user must retry in order to connect. There are set time periods that website servers will wait for a connection, and a 408 will be the result should this be exceeded.

What to do: there are number of factors that can influence a 408, hence there are several solutions to the problem:

a) Refresh the website or re-enter the URL; slow connections are not unusual but are generally temporary. Be careful of doing this many times when using online shopping carts; it has been known to create several orders by mistake, and hence take many payments. It is to be noted that online merchants do tend to have protection against this installed.

TRY SERPED.NET NOW

30-day free trial, 30-day money back guarantee

b) It could be that it is your internet connection at fault; if you suspect this, try an alternative website and see if it loads. If the other page loads as normal, it’s likely the issue is not with you, but with the website concerned. If others are slow you could run a speed test and see if there is a problem, or contact your ISP to see if they are experiencing problems.

c) 408’s can occur when a website receives an unexpected increase in traffic. This can give the servers a hard time and result in problems. Once traffic dies down you may find the site loads as normal, so try again later.

d) If you continue to have problems, or are aware that others are also finding a 408, it is advisable to contact the website and let them know the situation, as they will want to rectify it as soon as possible.

409 HTTP Error (Conflict)

The information you are trying to request has resulted in a conflict, hence the 409 error. For instance, if you try and upload something that is older than that in existence you will create a conflict in version control. Also, if you are trying to perform an action that is beyond your granted authority it may generate a 409 error.

What to do: you must contact your ISP and find out why the conflict is occurring, either by email or by other means, as only they can resolve the problem.

410 HTTP Error (Gone)

This very definite error code is returned when you try to access a page or site that is no longer available, or is deliberately hidden from view. Such pages should have been removed from the index by search engines, but may have been overlooked. This is a permanent situation – the resource is simply not there anymore, and no alternative URL has been given for it.

What to do: there is pretty much nothing you can do about a 410 error; as the page or site is no longer there, and there is no redirection address, it cannot be accessed. If you believe the URL should be live then you may try and access it from a different angle, but you will most likely see another 410.

411 HTTP Error (Length Required)

This HTTP error is usually only applicable when you are trying to add data to the web server rather than find it. All such transactions will require a length to be specified, and a header will be offered in which to define it. If the length is not defined, the system will return a 411 error.

What to do: it is best to contact the ISP and ask them for the relevant information, unless you are technically adept enough to work out what the system is having a problem with.

412 HTTP Error (Precondition Failed)

All requests to servers contain certain conditions specified within the Request Header field attached to the request; a 412 error indicates that something within these parameters was not within the conditions required, and hence has been rejected. A 412 can also be returned in the event of suspicious or bad request parameters.

What to do: in the first instance, try again using an alternative browser as this often works. Also, if the website is under your control, turn off such as mod_security, or alter the set rules. If this is not the solution, talk to your ISP to deduce why you ate getting a 412 error.

413 HTTP Error (Request Entity Too Large)

A 413 error simply indicates that the information you are trying to send to the server was simply too big; perhaps you were trying to upload a large file or similar. The server will have set parameters as to what is considered too large.

What to do: it is recommended you contact your ISP for information on the limitations with regard to 413 errors.

414 HTTP Error (Request URL Too Long)

URL’s are generally expected to be within a set length, defined in characters, and can sometimes be decreed as too long. Should this be the case you will see a 414 error. You should be able to find out the maximum length of a URL set by your web server, and it is helpful to keep it as short as possible in order to help with the processing of information.

What to do: hyperlinks are often lengthy and convoluted, and can constitute the problem or a 414 error; clearing your cache may help the situation, but you may need to contact your ISP and find out exactly why the system is rejecting the URL and if it is actually valid.

415 HTTP Error (Unsupported Media Type)

This code implies that part of the request to the server included a format not supported; it could be an image or another media file o a type that the server cannot deal with.

What to do: the best solution is to find out from your ISP the media formats that are supported and try to make the request using one of these.

500 Series – Server Error

500 HTTP Error (Internal Server Error)

This is one of the more commonly seen error messages as it covers a range of problems; it simply means that there is a problem on the server relating to the website, but is not specific about it. In other words, it’s not your problem, it’s theirs, and it could be down to a programming fault.

What to do: as 500 is a very general code there are several things that could cause the problem and, therefore, a number of possible solutions:

a) Try refreshing and reloading the site by either the refresh, F5 or typing in methods, as the problem could just be temporary. Be careful when doing this while checking out on a shopping site as, although there are usually security provisions in place, it can result in multiple purchases.

b) A cached version of the page you are trying to view could be the cause of the 500 error, although it is not a common problem. However, it is worth clearing the cache as it has been known to relieve the problem, and it is quick and simple.

c) Cookies may also be the problem, so again, deleting cookies on your browser can be a quick and effective way of alleviating a 500 error.

d) Sometimes a server will return a 500 error when the problem is actually a 504 Gateway Timeout error (see below); try the advice there to see if it helps.

e) If none of the above work then it may be advisable to let the relevant persons at the website know, as they may be unaware of the problem and will wish to fix it.

f) Try again later, as the 500 error may be the result of a temporary problem already known to them.

501 HTTP Error (Not Implemented)

This message tells you that the method you are using to request the information cannot be processed by the server, either because it doesn’t understand it, or has not been told how to do it.

What to do: you need to make sure you are using a request format that is valid, or the server itself may be outdated and need updating.

502 HTTP Error (Bad Gateway Errors)

The 502 error also covers a lot of possibilities, and informs you that a server needed to perform the action requested has returned a response that was not valid to the operation.

What to do: there are many possible reasons for a 502 error, and many possible solutions to the problem:

Note that a 502 error is, more often than not, a problem experienced by two servers trying to communicate with each other; this means it is not a problem with your system, or with your connection. It could be that something you are doing is influencing the problem, so it is best to try the following just in case.

a) Reload the URL once more, either by refreshing, using 5 or by typing the URL again; it is entirely possible that the problem is temporary and short term, and this first step often works.

b) Close your browsers and open a new one, and now try to load the website. If the problem was on your part, or that of your browser, this simple act should solve the problem in an instant.

c) Old or corrupt files that are cached on your system can produce a 502 error in some circumstances, so emptying your cache may be the simple answer to the problem.

d) Also, cookies may be the problem, as above; clear cookies and you may have the answer. You can clear those that are specific to the site concerned if you wish not to clear them all.

e) Use the Safe Mode option; by starting your browser in Safe Mode you are doing so without any other add-ons that may be having an effect on the 502 error. If this solves the problem you have an indication that it is an extension or otherwise relating to your browser that is at fault. Search through the settings until you find the setting that is causing the problems. Please note, this is not the same as Windows Safe Mode, it is that specific to your browser.

f) You may want to try a different browser if the problem persists; Chrome, Firefox, Internet Explorer and Safari are among the most popular, and you might find that a different browser, for certain reasons, overcomes the 502 error.

g) The old restart trick might also help; sometimes rebooting your machine will remove the 502 error, as the problem could have been due to your network connection. This will possibly be the case if you are seeing a 502 on more than one site.

h) Further to the above, rebooting your router, modem or any other devices on the network may solve a 502, as they could be causing problems in the way they are connected. Make sure that, when you turn them back on, you begin with the modem, router, and then any devices between that and your computer.

i) Some issued with DNS servers can cause 502 errors, so it may be worth changing to a different DNS server. These are assigned to you by your ISP, who may be able to help you if you are not sure what to do.

j) If problems persist it may be helpful to contact the relevant persons at the website as they may not know about the 502 error, or may already be working on rectifying the problem.

k) If everything in your home network is operational and the website personnel cannot see a 502, you should contact your ISP as there may be an issue with their network could be the cause of the problem.

l) As with all things, try again later on; if the website administrators are aware of the problem they will be trying their best to fix it, and will do so in good time. Remember, it is more than likely that a 502 error is not your fault, but is a problem with the website’s network or that of your ISP provider, but trying the above will do no harm at all.

503 HTTP Error (Service Unavailable)

This often-seen error message carries a simple message: the server for the website you are trying to access is not available at that moment. It could be due to heavy traffic or maintenance.

What to do: there are a number of reasons why you might see a 503 error, hence the following solutions may apply:

a) Try the website again by either refreshing, pressing F5 or typing the address once more, as it is entirely possible that the 503 error is a temporary one and, in many cases, this will solve the problem. Take care if doing this when making a purchase as, although security measures are usually in place, it can result in multiple purchases.

b) Reboot your router and then your computer; this is recommended especially if the error message reads ‘DNS failure’. It is still the greater likelihood that the problem lies with the website’s servers, but in some cases it could be one of your devices that is malfunctioning and this could solve the problem.

c) Contact the website and let them know of the problem; they may already be aware but if not they will welcome your message and begin to rectify the problem.

d) Try again later on; this is probably the best of all options because, as the problem is out of your control, those responsible for it will likely be working on it and after a while the service will likely return to normal. It could also be that the 503 is down to an unexpected influx of traffic, in which case you will be able to access the site when they leave.

504 HTTP Error (Gateway Timeout Error)

This common error message tells you that the server your request is trying to communicate with did not respond in good time, most likely due to maintenance or a fault.

What to do: there are many possible causes of a Gateway Timeout Error, hence the following solutions may be applicable:

a) Try refreshing and reloading the site by either the refresh, F5 or typing in methods, as the problem could just be temporary. Be careful when doing this while checking out on a shopping site as, although there are usually security provisions in place, it can result in multiple purchases.

b) Further to the above, rebooting your router, modem or any other devices on the network may solve a 504, as they could be causing problems in the way they are connected. Make sure that, when you turn them back on, you begin with the modem, router, and then any devices between that and your computer.

c) Some issued with DNS servers can cause 504 errors, so it may be worth changing to a different DNS server. These are assigned to you by your ISP, who may be able to help you if you are not sure what to do.

d) Contact the website and let them know of the problem; they may already be aware but if not they will welcome your message and begin to rectify the problem.

e) If everything in your home network is operational and the website personnel cannot see a 504, you should contact your ISP as there may be an issue with their network could be the cause of the problem.

f) Try again later on; this is probably the best of all options because, as the problem is out of your control, those responsible for it will likely be working on it and after a while the service will likely return to normal.
505 HTTP Error (HTTP Version Not Supported) – the website you are trying to access does not support the HTTP protocol that you are currently using, which is commonly HTTP/1.1.

What to do: you need to upgrade your web server software, in order to be able to access the website and others that may also return a 505 error.

So, that’s it, all the error messages, what they mean and how to go about fixing them. We hope this guide comes in useful and makes your online life easier.

TRY SERPED.NET NOW

30-day free trial, 30-day money back guarantee

HTTP
  • Упорство
  • Сжатие
  • HTTPS
  • QUIC
Способы запроса
  • ОПЦИИ
  • ПОЛУЧАТЬ
  • ГОЛОВА
  • СООБЩЕНИЕ
  • ПОЛОЖИЛ
  • УДАЛИТЬ
  • СЛЕД
  • ПОДКЛЮЧИТЬ
  • ПАТЧ
Поля заголовка
  • Cookie-файлы
  • ETag
  • Место расположения
  • HTTP-реферер
  • DNT
  • X-Forwarded-For
Коды состояния
  • 301 перемещен навсегда
  • 302 Найдено
  • 303 См. Другое
  • 403 Запрещено
  • 404 Не Найдено
  • 451 Недоступно по юридическим причинам
Методы контроля доступа безопасности
  • Базовая аутентификация доступа
  • Дайджест-проверка подлинности доступа
Уязвимости безопасности
  • Внедрение HTTP-заголовка
  • Контрабанда HTTP-запросов
  • Разделение HTTP-ответа
  • Загрязнение параметров HTTP

Это список Протокол передачи гипертекста (HTTP) коды состояния ответа. Коды состояния выдаются сервером в ответ на запрос клиента сделал к серверу. Включает коды от IETF Запрос комментариев (RFC), другие спецификации и некоторые дополнительные коды, используемые в некоторых распространенных приложениях HTTP. Первая цифра кода состояния указывает один из пяти стандартных классов ответов. Показанные фразы сообщений являются типичными, но может быть предоставлена ​​любая удобочитаемая альтернатива. Если не указано иное, код состояния является частью стандарта HTTP / 1.1 (RFC 7231).[1]

В Управление по присвоению номеров в Интернете (IANA) ведет официальный реестр кодов состояния HTTP.[2]

Все коды состояния ответа HTTP разделены на пять классов или категорий. Первая цифра кода состояния определяет класс ответа, в то время как последние две цифры не имеют никакой роли классификации или категоризации. Стандарт определяет пять классов:

  • 1xx информационный ответ — запрос был получен, процесс продолжается
  • 2xx успешно — запрос был успешно получен, понят и принят
  • Перенаправление 3xx — для выполнения запроса необходимо предпринять дальнейшие действия
  • Ошибка клиента 4xx — запрос содержит неверный синтаксис или не может быть выполнен
  • Ошибка сервера 5xx — серверу не удалось выполнить явно действительный запрос

Информационный ответ 1xx

Информационный ответ указывает, что запрос был получен и понят. Он выдается временно, пока обработка запроса продолжается. Он предупреждает клиента, чтобы он дождался окончательного ответа. Сообщение состоит только из строки состояния и дополнительных полей заголовка и заканчивается пустой строкой. Поскольку в стандарте HTTP / 1.0 не определены коды состояния 1xx, серверы не должен[примечание 1] отправить ответ 1xx клиенту, совместимому с HTTP / 1.0, за исключением экспериментальных условий.[3]

100 Продолжить
Сервер получил заголовки запроса, и клиент должен продолжить отправку тела запроса (в случае запроса, для которого необходимо отправить тело; например, СООБЩЕНИЕ запрос). Отправка большого тела запроса на сервер после того, как запрос был отклонен из-за несоответствующих заголовков, будет неэффективен. Чтобы сервер проверил заголовки запроса, клиент должен отправить Ожидайте: 100-продолжение в качестве заголовка в своем первоначальном запросе и получить 100 Продолжить код состояния в ответ перед отправкой тела. Если клиент получает код ошибки, такой как 403 (Запрещено) или 405 (Метод не разрешен), он не должен отправлять тело запроса. Ответ 417 Ожидание не выполнено указывает, что запрос следует повторить без Ожидать заголовок, поскольку он указывает на то, что сервер не поддерживает ожидания (например, в случае серверов HTTP / 1.0).[4]
101 протокол переключения
Запрашивающая сторона попросила сервер переключить протоколы, и сервер дал согласие на это.[5]
102 Обработка (WebDAV; RFC 2518 )
Запрос WebDAV может содержать множество подзапросов, связанных с файловыми операциями, для выполнения которых требуется много времени. Этот код указывает, что сервер получил и обрабатывает запрос, но ответа еще нет.[6] Это предотвращает тайм-аут клиента и предположение, что запрос был потерян.
103 Ранние подсказки (RFC 8297 )
Используется для возврата некоторых заголовков ответа перед окончательным HTTP-сообщением.[7]

2хх успех

Этот класс кодов состояния указывает, что действие, запрошенное клиентом, было получено, понято и принято.[2]

200 ОК
Стандартный ответ на успешные HTTP-запросы. Фактический ответ будет зависеть от используемого метода запроса. В запросе GET ответ будет содержать объект, соответствующий запрошенному ресурсу. В запросе POST ответ будет содержать объект, описывающий или содержащий результат действия.[8]
201 Создано
Запрос был выполнен, в результате чего был создан новый ресурс.[9]
202 Принято
Запрос принят в обработку, но обработка не завершена. В конечном итоге запрос может или не может быть обработан, и может быть отклонен, когда происходит обработка.[10]
203 Неавторизованная информация (начиная с HTTP / 1.1)
Сервер представляет собой преобразующий прокси (например, Веб-ускоритель ), который получил 200 OK от источника, но возвращает измененную версию ответа источника.[11][12]
204 Нет содержимого
Сервер успешно обработал запрос и не возвращает никакого контента.[13]
205 Сбросить содержимое
Сервер успешно обработал запрос, просит, чтобы инициатор запроса сбросил представление документа, и не возвращает никакого содержимого. [14]
206 Частичное содержимое (RFC 7233 )
Сервер доставляет только часть ресурса (байтовое обслуживание ) из-за заголовка диапазона, отправленного клиентом. Заголовок диапазона используется HTTP-клиентами для возобновления прерванных загрузок или разделения загрузки на несколько одновременных потоков.[15]
207 Мульти-статус (WebDAV; RFC 4918 )
Следующее тело сообщения по умолчанию XML сообщение и может содержать несколько отдельных кодов ответа, в зависимости от того, сколько подзапросов было сделано.[16]
208 уже сообщено (WebDAV; RFC 5842 )
Члены привязки DAV уже были перечислены в предыдущей части (мультистатусного) ответа и не включаются снова.
226 IM использовано (RFC 3229 )
Сервер выполнил запрос ресурса, и ответ является представлением результата одной или нескольких манипуляций с экземпляром, примененных к текущему экземпляру.[17]

Перенаправление 3xx

Этот класс кода состояния указывает, что клиент должен предпринять дополнительные действия для выполнения запроса. Многие из этих кодов состояния используются в Перенаправление URL.[2]

Пользовательский агент может выполнить дополнительное действие без взаимодействия с пользователем, только если во втором запросе используется метод GET или HEAD. Пользовательский агент может автоматически перенаправить запрос. Пользовательский агент должен обнаруживать и вмешиваться, чтобы предотвратить циклические перенаправления.[18]

300 вариантов выбора
Указывает несколько вариантов ресурса, из которых клиент может выбрать (через согласование содержимого на основе агентов ). Например, этот код можно использовать для представления нескольких параметров формата видео, чтобы перечислить файлы с разными расширения файлов, или предложить словесная неоднозначность.[19]
301 перемещен навсегда
Это и все будущие запросы следует направлять в данную URI.[20]
302 найдено (ранее «перемещено временно»)
Сообщает клиенту, что нужно посмотреть (перейти) на другой URL. 302 был заменен 303 и 307. Это пример отраслевой практики, противоречащей стандарту. Спецификация HTTP / 1.0 (RFC 1945) требовала от клиента выполнения временного перенаправления (исходная описывающая фраза была «временно перемещена»),[21] но популярные браузеры реализовали 302 с функциональностью 303 See Other. Поэтому в HTTP / 1.1 добавлены коды состояния 303 и 307, чтобы различать два поведения.[22] Однако некоторые веб-приложения и платформы используют код состояния 302, как если бы это был 303.[23]
303 См. Другое (начиная с HTTP / 1.1)
Ответ на запрос можно найти под другим URI с помощью метода GET. При получении в ответ на POST (или PUT / DELETE) клиент должен предполагать, что сервер получил данные, и должен отправить новый запрос GET на данный URI.[24]
304 Не изменено (RFC 7232 )
Указывает, что ресурс не был изменен с версии, указанной в заголовки запросов If-Modified-Since или If-None-Match. В таком случае нет необходимости повторно передавать ресурс, поскольку у клиента все еще есть ранее загруженная копия.[25]
305 Использовать прокси (начиная с HTTP / 1.1)
Запрошенный ресурс доступен только через прокси, адрес которого указан в ответе. По соображениям безопасности многие HTTP-клиенты (например, Mozilla Firefox и Internet Explorer ) не подчиняются этому коду состояния.
306 Переключить прокси
Больше не используется. Первоначально означало «Последующие запросы должны использовать указанный прокси».[27]
307 Временное перенаправление (начиная с HTTP / 1.1)
В этом случае запрос следует повторить с другим URI; однако в будущих запросах должен по-прежнему использоваться исходный URI. В отличие от того, как 302 был исторически реализован, метод запроса не может быть изменен при повторной выдаче исходного запроса. Например, запрос POST следует повторить, используя другой запрос POST.[28]
308 Постоянное перенаправление (RFC 7538 )
Запрос и все будущие запросы следует повторить, используя другой URI. 307 и 308 аналогичны 302 и 301, но не позволять методу HTTP изменять. Так, например, отправка формы на постоянно перенаправляемый ресурс может продолжаться гладко.[29]

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

Ошибка 404 в Википедии.

Ошибка 404 в Википедии

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

ошибка 400, неверный запрос
Сервер не может или не будет обрабатывать запрос из-за явной ошибки клиента (например, неверный синтаксис запроса, слишком большой размер, недопустимое формирование сообщения запроса или обманчивая маршрутизация запроса).[31]
401 Несанкционированный (RFC 7235 )
Похожий на 403 Запрещено, но специально для использования, когда аутентификация требуется, но она не удалась или еще не была предоставлена. Ответ должен включать поле заголовка WWW-Authenticate, содержащее запрос, применимый к запрошенному ресурсу. Видеть Базовая аутентификация доступа и Дайджест-проверка подлинности доступа.[32] 401 семантически означает «неавторизованный»,[33] у пользователя нет действительных учетных данных для аутентификации для целевого ресурса.
Примечание. Некоторые сайты неправильно выдают HTTP 401, когда айпи адрес запрещен на веб-сайте (обычно это домен веб-сайта), и этому конкретному адресу отказано в доступе к веб-сайту.[нужна цитата ]
402 Требуется оплата
Зарезервировано для использования в будущем. Изначально предполагалось, что этот код можно использовать как часть некоторой формы цифровые деньги или микроплатеж схема, предложенная, например, GNU Taler,[34] но этого еще не произошло, и этот код не получил широкого распространения. Разработчики Google API использует этот статус, если конкретный разработчик превысил дневной лимит запросов.[35] Sipgate использует этот код, если на счете недостаточно средств для начала звонка.[36] Shopify использует этот код, когда магазин не выплатил комиссию и временно отключен.[37] Полоса использует этот код для неудачных платежей с правильными параметрами, например, заблокированных мошеннических платежей.[38]
403 Запрещено
Запрос содержал действительные данные и был понят сервером, но сервер отклоняет действие. Это может быть связано с тем, что пользователь не имеет необходимых разрешений для ресурса или ему требуется учетная запись какого-либо типа, или он пытается выполнить запрещенное действие (например, создает дублирующую запись, где разрешен только один). Этот код также обычно используется, если запрос предоставил аутентификацию путем ответа на запрос поля заголовка WWW-Authenticate, но сервер не принял эту аутентификацию. Запрос не должен повторяться.
404 Не Найдено
Запрошенный ресурс не может быть найден, но может быть доступен в будущем. Последующие запросы со стороны клиента допустимы.
405 Метод не разрешен
Метод запроса не поддерживается для запрошенного ресурса; например, запрос GET в форме, который требует, чтобы данные были представлены через СООБЩЕНИЕ или запрос PUT для ресурса, доступного только для чтения.
406 неприемлемо
Запрошенный ресурс может генерировать только контент, неприемлемый в соответствии с заголовками Accept, отправленными в запросе.[39] Видеть Согласование содержания.
407 Требуется проверка подлинности прокси (RFC 7235 )
Клиент должен сначала аутентифицироваться с помощью доверенное лицо.[40]
408 Тайм-аут запроса
Время ожидания запроса на сервере истекло. Согласно спецификациям HTTP: «Клиент не отправил запрос в течение времени, в течение которого сервер был подготовлен к ожиданию. Клиент МОЖЕТ повторить запрос без изменений в любое время».[41]
409 Конфликт
Указывает, что запрос не может быть обработан из-за конфликта в текущем состоянии ресурса, например редактировать конфликт между несколькими одновременными обновлениями.
410 ушел
Указывает, что запрошенный ресурс больше не доступен и больше не будет доступен. Это следует использовать, когда ресурс был намеренно удален, и ресурс должен быть очищен. После получения кода состояния 410 клиент не должен запрашивать ресурс в будущем. Такие клиенты, как поисковые системы, должны удалить ресурс из своих индексов.[42] В большинстве случаев не требуется, чтобы клиенты и поисковые системы очищали ресурс, и вместо этого можно использовать сообщение «404 Not Found».
411 Требуется длина
В запросе не указана длина его содержимого, необходимая для запрашиваемого ресурса.[43]
412 Ошибка предварительного условия (RFC 7232 )
Сервер не соответствует одному из предварительных условий, которые запрашивающая сторона поставила в полях заголовка запроса.[44][45]
413 Слишком большая полезная нагрузка (RFC 7231 )
Запрос больше, чем сервер хочет или может обработать. Ранее назывался «Слишком большой объект запроса».[46]
414 URI слишком длинный (RFC 7231 )
В URI предоставленный был слишком длинным для обработки сервером. Часто это результат того, что слишком много данных кодируется как строка запроса запроса GET, и в этом случае его следует преобразовать в запрос POST.[47] Ранее вызывался «Request-URI Too Long».[48]
415 Неподдерживаемый тип носителя (RFC 7231 )
Сущность запроса имеет тип СМИ которые сервер или ресурс не поддерживает. Например, клиент загружает изображение как изображение / svg + xml, но сервер требует, чтобы изображения использовали другой формат.[49]
416 Неудовлетворительный диапазон (RFC 7233 )
Клиент запросил часть файла (байтовое обслуживание ), но сервер не может предоставить эту часть. Например, если клиент запросил часть файла, лежащую за концом файла.[50] Ранее называлась «Запрошенный диапазон не удовлетворяется».[51]
417 Ожидание не выполнено
Сервер не может удовлетворить требованиям поля заголовка запроса Expect.[52]
418 я чайник (RFC 2324, RFC 7168 )
Этот кодекс был определен в 1998 году как один из традиционных IETF Первоапрельские шутки, в RFC 2324, Протокол управления гипертекстовым кофейником, и не ожидается, что он будет реализован на реальных HTTP-серверах. RFC указывает, что этот код должен возвращаться чайниками, которых просят заварить кофе.[53] Этот статус HTTP используется как Пасхальное яйцо на некоторых веб-сайтах, например Google.com Я чайник пасхальное яйцо.[54][55]
421 неправильно направленный запрос (RFC 7540 )
Запрос был направлен на сервер, который не может дать ответ[56] (например, из-за повторного использования соединения).[57]
422 Необработанная сущность (WebDAV; RFC 4918 )
Запрос был правильно сформирован, но его не удалось выполнить из-за семантических ошибок.[16]
423 Заблокировано (WebDAV; RFC 4918 )
Ресурс, к которому осуществляется доступ, заблокирован.[16]
424 Неудачная зависимость (WebDAV; RFC 4918 )
Запрос не удался, потому что он зависел от другого запроса, и этот запрос не удался (например, PROPPATCH).[16]
425 Слишком рано (RFC 8470 )
Указывает, что сервер не желает рисковать обработкой запроса, который может быть воспроизведен.
426 Требуется обновление
Клиент должен переключиться на другой протокол, например TLS / 1.0, приведенный в Заголовок обновления поле.[58]
428 Требуется предварительное условие (RFC 6585 )
Исходный сервер требует, чтобы запрос был условным. Предназначен для предотвращения проблемы «потерянного обновления», когда клиент ПОЛУЧАЕТ состояние ресурса, изменяет его и отправляет обратно на сервер, когда тем временем третья сторона изменила состояние на сервере, что привело к конфликту.[59]
429 Слишком много запросов (RFC 6585 )
Пользователь отправил слишком много запросов за заданный промежуток времени. Предназначен для использования с ограничение скорости схемы.[59]
431 Слишком большие поля заголовка запроса (RFC 6585 )
Сервер не желает обрабатывать запрос, потому что либо отдельное поле заголовка, либо все поля заголовка в совокупности слишком велики.[59]
451 Недоступно по юридическим причинам (RFC 7725 )
Оператор сервера получил законное требование запретить доступ к ресурсу или набору ресурсов, который включает запрошенный ресурс.[60] Код 451 был выбран в качестве ссылки на роман. 451 градус по Фаренгейту (см. Благодарности в RFC).

5xx ошибки сервера

В сервер не удалось выполнить запрос.[61]

Коды состояния ответа, начинающиеся с цифры «5», указывают на случаи, когда сервер знает, что он обнаружил ошибку или иным образом не может выполнить запрос. За исключением ответа на запрос HEAD, сервер должен включите объект, содержащий объяснение ситуации с ошибкой, и укажите, является ли это временным или постоянным состоянием. Аналогично, пользовательские агенты должен отображать любую включенную сущность для пользователя. Эти коды ответов применимы к любому методу запроса.[62]

внутренняя ошибка сервера 500
Общее сообщение об ошибке, которое выдается, когда возникла непредвиденная ситуация, и более конкретное сообщение не подходит.[63]
501 Не реализовано
Сервер либо не распознает метод запроса, либо не может выполнить запрос. Обычно это подразумевает доступность в будущем (например, новую функцию API веб-службы).[64]
502 Неверный шлюз
Сервер действовал как шлюз или прокси и получил недопустимый ответ от вышестоящего сервера.[65]
сервис 503 недоступен
Сервер не может обработать запрос (потому что он перегружен или отключен для обслуживания). Как правило, это временное состояние.[66]
Ошибка 504 Время ответа сервера истекло
Сервер действовал как шлюз или прокси и не получил своевременного ответа от вышестоящего сервера.[67]
505 Версия HTTP не поддерживается
Сервер не поддерживает версию протокола HTTP, используемую в запросе.[68]
506 вариант также согласовывает (RFC 2295 )
Прозрачный согласование содержания для запроса результаты в циркулярная ссылка.[69]
507 Недостаточно памяти (WebDAV; RFC 4918 )
Сервер не может сохранить представление, необходимое для выполнения запроса.[16]
508 Обнаружен цикл (WebDAV; RFC 5842 )
Сервер обнаружил бесконечный цикл при обработке запроса (отправленного вместо 208 уже сообщается ).
510 не расширенный (RFC 2774 )
Для его выполнения сервером требуются дальнейшие расширения запроса.[70]
511 Требуется сетевая аутентификация (RFC 6585 )
Чтобы получить доступ к сети, клиенту необходимо пройти аутентификацию. Предназначен для использования путем перехвата прокси, используемых для управления доступом к сети (например, «плененные порталы «раньше требовали согласия с Условиями использования перед предоставлением полного доступа в Интернет через Точка доступа Wi-Fi ).[59]

Неофициальные коды

Следующие ниже коды не определены никаким стандартом.

103 КПП
Используется в предложении возобновляемых запросов для возобновления прерванных запросов PUT или POST.[71]
218 Это нормально (Веб-сервер Apache )
Используется как условие универсальной ошибки, позволяющее передавать тела ответов через Apache, когда включен ProxyErrorOverride.[сомнительный – обсудить] Когда ProxyErrorOverride включен в Apache, тела ответов, содержащие код состояния 4xx или 5xx, автоматически отклоняются Apache в пользу общего ответа или настраиваемого ответа, указанного в директиве ErrorDocument.[72]
419 Страница истекла (Фреймворк Laravel )
Используется Laravel Framework, когда токен CSRF отсутствует или просрочен.
420 Ошибка метода (Spring Framework )
Устаревший ответ, используемый Spring Framework при сбое метода.[73]
420 Усильте свое спокойствие (Twitter )
Возвращается версией 1 Twitter Search and Trends API, когда клиент ограничен по скорости; версии 1.1 и более поздние используют 429 Слишком много запросов код ответа.[74] Фраза «Укрепите свое спокойствие» происходит от 1993 фильм Разрушитель, и его связь с этим числом, вероятно, ссылка на каннабис.[нужна цитата ]
430 Слишком большие поля заголовка запроса (Shopify )
Использован Shopify, вместо 429 Слишком много запросов код ответа, если в течение определенного периода времени запрашивается слишком много URL-адресов.[75]
450 заблокировано родительским контролем Windows (Microsoft)
Код расширения Microsoft указывается, когда родительский контроль Windows включен и блокирует доступ к запрошенной веб-странице.[76]
498 Неверный токен (Esri)
Возвращено ArcGIS for Server. Код 498 указывает на просроченный или недействительный токен по иным причинам.[77]
Требуется 499 токенов (Esri)
Возвращено ArcGIS for Server. Код 499 указывает на то, что токен требуется, но не был отправлен.[77]
509 Превышен предел пропускной способности (Веб-сервер Apache /cPanel )
Сервер превысил пропускную способность, указанную администратором сервера; это часто используется провайдерами виртуального хостинга для ограничения полосы пропускания клиентов.[78]
526 Неверный сертификат SSL
Использован Cloudflare и Cloud Foundry gorouter, указывающий на неспособность проверить сертификат SSL / TLS, предоставленный исходным сервером.
529 Сайт перегружен
Использован Qualys в API тестирования сервера SSLLabs, чтобы указать, что сайт не может обработать запрос.[79]
530 Сайт заморожен
Используется Пантеон веб-платформа, чтобы указать, что сайт был заблокирован из-за бездействия.[80]
598 (неофициальное соглашение) Ошибка тайм-аута сетевого чтения.
Используется некоторыми прокси-серверами HTTP для передачи сигнала таймаута сетевого чтения за прокси-сервером клиенту перед прокси.[81]

Информационные службы Интернета

Microsoft Информационные службы Интернета (IIS) веб-сервер расширяет пространство ошибок 4xx, чтобы сигнализировать об ошибках в запросе клиента.

440 Время ожидания входа в систему
Сессия клиента истекла, и ему необходимо снова войти в систему.[82]
449 Повторить с
Сервер не может выполнить запрос, потому что пользователь не предоставил требуемую информацию.[83]
451 перенаправление
Используется в Exchange ActiveSync когда доступен более эффективный сервер или сервер не может получить доступ к почтовому ящику пользователя.[84] Ожидается, что клиент повторно запустит операцию HTTP AutoDiscover, чтобы найти более подходящий сервер.[85]

IIS иногда использует дополнительные десятичные субкоды для получения более конкретной информации,[86] однако эти подкоды появляются только в полезной нагрузке ответа и в документации, а не вместо фактического кода состояния HTTP.

nginx

В nginx ПО веб-сервера расширяет пространство ошибок 4xx, чтобы сигнализировать о проблемах с запросом клиента.[87][88]

444 Нет ответа
Используется внутри[89] чтобы дать серверу команду не возвращать информацию клиенту и немедленно закрыть соединение.
494 Заголовок запроса слишком большой
Клиент отправил слишком большой запрос или слишком длинную строку заголовка.
495 Ошибка сертификата SSL
Расширение ошибка 400, неверный запрос код ответа, используемый, когда клиент предоставил недопустимый сертификат клиента.
496 Требуется сертификат SSL
Расширение ошибка 400, неверный запрос код ответа, используемый, когда сертификат клиента требуется, но не предоставляется.
497 HTTP-запрос отправлен на HTTPS-порт
Расширение ошибка 400, неверный запрос код ответа, используемый, когда клиент отправил HTTP-запрос на порт, который прослушивает HTTPS-запросы.
499 Клиент закрытый запрос
Используется, когда клиент закрыл запрос до того, как сервер смог отправить ответ.

Cloudflare

Cloudflare Служба обратного прокси расширяет область ошибок серии 5xx, чтобы сигнализировать о проблемах с исходным сервером.[90]

520 Веб-сервер возвратил неизвестную ошибку
Исходный сервер вернул Cloudflare пустой, неизвестный или необъяснимый ответ.[91]
521 Веб-сервер не работает
Исходный сервер отклонил соединение с Cloudflare.
522 Время ожидания подключения истекло
Cloudflare не удалось договориться о Рукопожатие TCP с исходным сервером.
523 Источник недоступен
Cloudflare не смог связаться с исходным сервером; например, если Записи DNS для исходного сервера неверны.
524 Истекло время ожидания
Cloudflare удалось установить TCP-соединение с исходным сервером, но не получил своевременного ответа HTTP.
525 SSL Handshake Failed
Cloudflare не удалось согласовать Подтверждение SSL / TLS с исходным сервером.
526 Неверный сертификат SSL
Cloudflare не удалось проверить сертификат SSL на исходном веб-сервере.
527 Ошибка рельсотрона
Ошибка 527 указывает на прерванное соединение между Cloudflare и сервером Railgun исходного сервера.[92]
530
Ошибка 530 возвращается вместе с ошибкой 1xxx.[93]

AWS Elastic Load Balancer

Amazon с Эластичная балансировка нагрузки добавляет несколько пользовательских кодов возврата 4xx

460

Клиент закрыл соединение с балансировщиком нагрузки до истечения периода ожидания простоя. Обычно, когда время ожидания клиента меньше, чем время ожидания Elastic Load Balancer.[94]

463

Балансировщик нагрузки получил заголовок запроса X-Forwarded-For с более чем 30 IP-адресами.[94]

Смотрите также

  • Пользовательские страницы ошибок
  • Список кодов возврата FTP-сервера
  • Список полей заголовка HTTP
  • Список кодов возврата SMTP-сервера
  • Общий формат журнала

Примечания

  1. ^ Выделенные курсивом слова и фразы, например должен и должен представляют руководящие принципы интерпретации, как дано RFC 2119

Рекомендации

  1. ^ «Протокол передачи гипертекста (HTTP / 1.1): семантика и содержание». IETF. В архиве из оригинала 25 мая 2017 г.. Получено 16 декабря, 2017.
  2. ^ а б c «Реестр кода состояния протокола передачи гипертекста (HTTP)». Iana.org. В архиве с оригинала 11 декабря 2011 г.. Получено 8 января, 2015.
  3. ^ «10 определений кодов состояния». W3. В архиве из оригинала 16 марта 2010 г.. Получено 16 октября, 2015.
  4. ^ «Протокол передачи гипертекста (HTTP / 1.1): семантика и контент — 5.1.1. Ожидайте». В архиве из оригинала 25 мая 2017 г.. Получено 27 сентября, 2017.
  5. ^ «101». httpstatus. Архивировано из оригинал 30 октября 2015 г.. Получено 16 октября, 2015.
  6. ^ Голанд, Яронн; Уайтхед, Джим; Файзи, Асад; Картер, Стив Р .; Дженсен, Дел (февраль 1999 г.). Расширения HTTP для распределенной разработки — WEBDAV. IETF. Дои:10.17487 / RFC2518. RFC 2518. Получено 24 октября, 2009.
  7. ^ Оку, Кадзухо (Декабрь 2017 г.). Код состояния HTTP для индикации подсказок. IETF. Дои:10.17487 / RFC8297. RFC 8297. Получено 20 декабря, 2017.
  8. ^ «200 ОК». Протокол передачи гипертекста — HTTP / 1.1. IETF. Июнь 1999 г. с. 10.2.1. Дои:10.17487 / RFC2616. RFC 2616. Получено 30 августа, 2016.
  9. ^ Стюарт, Марк; джна. «Создать запрос с POST, код ответа 200 или 201 и содержание». Переполнение стека. В архиве с оригинала 11 октября 2016 г.. Получено 16 октября, 2015.
  10. ^ «202». httpstatus. Архивировано из оригинал 19 октября 2015 г.. Получено 16 октября, 2015.
  11. ^ «RFC 7231, раздел 6.3.4». В архиве с оригинала 25 мая 2017 года.
  12. ^ «RFC 7230, раздел 5.7.2». В архиве из оригинала 3 февраля 2016 г.. Получено 3 февраля, 2016.
  13. ^ Симманс, Крис. «Коды ответов сервера и что они означают». Koozai. Архивировано из оригинал 26 сентября 2015 г.. Получено 16 октября, 2015.
  14. ^ «IETF RFC7231 раздел 6.3.6. — 205 Сброс содержимого». IETF.org. В архиве из оригинала 25 мая 2017 г.. Получено 6 сентября, 2018.
  15. ^ «diff —git a / linkchecker.module b / linkchecker.module». Drupal. Архивировано из оригинал 4 марта 2016 г.. Получено 16 октября, 2015.
  16. ^ а б c d е Дюссо, Лиза, изд. (Июнь 2007 г.). Расширения HTTP для веб-распределенной разработки и управления версиями (WebDAV). IETF. Дои:10.17487 / RFC4918. RFC 4918. Получено 24 октября, 2009.
  17. ^ Дельта-кодирование в HTTP. IETF. Январь 2002 г. Дои:10.17487 / RFC3229. RFC 3229. Получено 25 февраля, 2011.
  18. ^ «Протокол передачи гипертекста (HTTP / 1.1): семантика и содержание». IETF. В архиве из оригинала 25 мая 2017 г.. Получено 13 февраля, 2016.
  19. ^ «300». httpstatus. Архивировано из оригинал 17 октября 2015 г.. Получено 16 октября, 2015.
  20. ^ «301». httpstatus. Архивировано из оригинал 27 октября 2015 г.. Получено 16 октября, 2015.
  21. ^ Бернерс-Ли, Тим; Филдинг, Рой Т.; Нильсен, Хенрик Фристик (Май 1996 г.). Протокол передачи гипертекста — HTTP / 1.0. IETF. Дои:10.17487 / RFC1945. RFC 1945. Получено 24 октября, 2009.
  22. ^ «Протокол передачи гипертекста (HTTP / 1.1): семантика и содержание, раздел 6.4». IETF. В архиве из оригинала 25 мая 2017 г.. Получено 12 июня, 2014.
  23. ^ «Ссылка на метод redirect_to в Ruby Web Framework« Ruby on Rails ». В нем говорится: перенаправление происходит как заголовок« 302 перемещен », если не указано иное». Архивировано из оригинал 5 июля 2012 г.. Получено 30 июня, 2012.
  24. ^ «303». httpstatus. В архиве с оригинала 22 октября 2015 г.. Получено 16 октября, 2015.
  25. ^ «304 не изменено». Сеть разработчиков Mozilla. Архивировано из оригинал 2 июля 2017 г.. Получено 6 июля, 2017.
  26. ^ Коэн, Джош. «Коды ответа HTTP / 1.1 305 и 306». Рабочая группа HTTP. В архиве из оригинала 8 сентября 2014 г.. Получено 8 сентября, 2014.
  27. ^ «Протокол передачи гипертекста (HTTP / 1.1): семантика и контент, раздел 6.4.7, временное перенаправление 307». IETF. 2014. В архиве из оригинала 25 мая 2017 г.. Получено 20 сентября, 2014.
  28. ^ «Код состояния 308 протокола передачи гипертекста (постоянное перенаправление)». Инженерная группа Интернета. Апрель 2015 г. В архиве из оригинала 16 апреля 2015 г.. Получено 6 апреля, 2015.
  29. ^ «E Объяснение кодов неисправностей». Oracle. В архиве из оригинала 16 февраля 2015 г.. Получено 16 октября, 2015.
  30. ^ «RFC7231 по коду 400». Tools.ietf.org. В архиве из оригинала 25 мая 2017 г.. Получено 8 января, 2015.
  31. ^ «401». httpstatus. Архивировано из оригинал 17 октября 2015 г.. Получено 16 октября, 2015.
  32. ^ «RFC7235 по коду 401». Tools.ietf.org. В архиве из оригинала 7 февраля 2015 г.. Получено 8 февраля, 2015.
  33. ^ «Учебное пособие по GNU Taler для разработчиков веб-магазинов PHP 0.4.0». docs.taler.net. Архивировано из оригинал 8 ноября 2017 г.. Получено 29 октября, 2017.
  34. ^ «Стандартные ответы на ошибки Google API». 2016. Архивировано с оригинал 25 мая 2017 г.. Получено 21 июня, 2017.
  35. ^ «Документация по API Sipgate». В архиве с оригинала 10 июля 2018 г.. Получено 10 июля, 2018.
  36. ^ «Shopify Документация». В архиве с оригинала 25 июля 2018 г.. Получено 25 июля, 2018.
  37. ^ «Справочник по Stripe API — Ошибки». stripe.com. Получено 28 октября, 2019.
  38. ^ Сингх, Прабхат; user1740567. Характеристики «Spring 3.x JSON status 406» недопустимы согласно запросу «accept» headers ()««. Переполнение стека. В архиве с оригинала 11 октября 2016 г.. Получено 16 октября, 2015.
  39. ^ «407». httpstatus. Архивировано из оригинал 11 октября 2015 г.. Получено 16 октября, 2015.
  40. ^ «408». httpstatus. Архивировано из оригинал 31 октября 2015 г.. Получено 16 октября, 2015.
  41. ^ «По-разному ли Google обрабатывает коды состояния 404 и 410? (Youtube)». 2014. В архиве из оригинала 8 января 2015 г.. Получено 4 февраля, 2015.
  42. ^ «Список кодов состояния HTTP». Google Книги. Получено 16 октября, 2015.
  43. ^ «Архивная копия». В архиве с оригинала 26 июня 2019 г.. Получено 20 июня, 2019.CS1 maint: заархивированная копия как заголовок (ссылка на сайт)
  44. ^ Коусер; Патель, Амит. «Код ответа REST для недопустимых данных». Переполнение стека. В архиве с оригинала 11 октября 2016 г.. Получено 16 октября, 2015.
  45. ^ «RFC2616 по статусу 413». Tools.ietf.org. В архиве из оригинала 7 марта 2011 г.. Получено 11 ноября, 2015.
  46. ^ user27828. «Запрос GET — почему мой URI такой длинный?». Переполнение стека. В архиве с оригинала 11 октября 2016 г.. Получено 16 октября, 2015.
  47. ^ «RFC2616 по статусу 414». Tools.ietf.org. В архиве из оригинала 7 марта 2011 г.. Получено 11 ноября, 2015.
  48. ^ «RFC7231 по статусу 415». Tools.ietf.org. В архиве из оригинала 25 мая 2017 г.. Получено 2 мая, 2019.
  49. ^ Сиглер, Крис. «416 Запрошенный диапазон не удовлетворяется». GetStatusCode. Архивировано из оригинал 22 октября 2015 г.. Получено 16 октября, 2015.
  50. ^ «RFC2616 по статусу 416». Tools.ietf.org. В архиве из оригинала 7 марта 2011 г.. Получено 11 ноября, 2015.
  51. ^ TheDeadLike. «Коды состояния HTTP / 1.1 400 и 417, нельзя выбрать какой». serverFault. Архивировано из оригинал 10 октября 2015 г.. Получено 16 октября, 2015.
  52. ^ Ларри Масинтер (1 апреля 1998 г.). Протокол управления гипертекстовым кофейником (HTCPCP / 1.0). Дои:10.17487 / RFC2324. RFC 2324. Любая попытка заварить кофе с помощью чайника должна приводить к появлению кода ошибки «418 Я чайник». Полученное тело объекта МОЖЕТ быть коротким и крепким.
  53. ^ Барри Шварц (26 августа 2014 г.). «Новое пасхальное яйцо Google для гиков SEO: статус сервера 418, я чайник». Search Engine Land. Архивировано из оригинал 15 ноября 2015 г.. Получено 4 ноября, 2015.
  54. ^ «Чайник Google». Получено 23 октября, 2017.[мертвая ссылка ]
  55. ^ «Протокол передачи гипертекста версии 2». Март 2015. Архивировано с оригинал 25 апреля 2015 г.. Получено 25 апреля, 2015.
  56. ^ «9.1.1. Повторное использование соединения». RFC7540. Май 2015. В архиве с оригинала от 23 июня 2015 г.. Получено 11 июля, 2017.
  57. ^ Khare, R; Лоуренс, С. «Обновление до TLS в HTTP / 1.1». IETF. Сетевая рабочая группа. В архиве с оригинала 8 октября 2015 г.. Получено 16 октября, 2015.
  58. ^ а б c d Ноттингем, М .; Филдинг, Р. (апрель 2012 г.). «RFC 6585 — Дополнительные коды состояния HTTP». Запрос комментариев. Инженерная группа Интернета. В архиве из оригинала 4 мая 2012 г.. Получено 1 мая, 2012.
  59. ^ Брей, Т. (февраль 2016 г.). «Код состояния HTTP для сообщения о юридических препятствиях». ietf.org. В архиве из оригинала 4 марта 2016 г.. Получено 7 марта, 2015.
  60. ^ «Коды ошибок сервера». CSGNetwork.com. Архивировано из оригинал 8 октября 2015 г.. Получено 16 октября, 2015.
  61. ^ мистер Готт. «Коды состояния HTTP для обработки ошибок в вашем API». мистер Готт. Архивировано из оригинал 30 сентября 2015 г.. Получено 16 октября, 2015.
  62. ^ Фишер, Тим. «внутренняя ошибка сервера 500». Lifewire. Архивировано из оригинал 23 февраля 2017 г.. Получено 22 февраля, 2017.
  63. ^ «Ошибка HTTP 501 не реализована». Проверить вверх вниз. Архивировано из оригинал 12 мая 2017 г.. Получено 22 февраля, 2017.
  64. ^ Фишер, Тим. «502 Неверный шлюз». Lifewire. Архивировано из оригинал 23 февраля 2017 г.. Получено 22 февраля, 2017.
  65. ^ Алекс. «Какой правильный код состояния HTTP отправлять, когда сайт не работает на техническое обслуживание?». Переполнение стека. В архиве с оригинала 11 октября 2016 г.. Получено 16 октября, 2015.
  66. ^ «Ошибка HTTP 504, время ожидания шлюза». Проверить вверх вниз. Архивировано из оригинал 20 сентября 2015 г.. Получено 16 октября, 2015.
  67. ^ «Ошибка HTTP 505 — версия HTTP не поддерживается». Проверить вверх вниз. Архивировано из оригинал 24 сентября 2015 г.. Получено 16 октября, 2015.
  68. ^ Холтман, Коэн; Муц, Эндрю Х. (март 1998 г.). Прозрачное согласование содержимого в HTTP. IETF. Дои:10.17487 / RFC2295. RFC 2295. Получено 24 октября, 2009.
  69. ^ Нильсен, Хенрик Фристик; Лич, Пол; Лоуренс, Скотт (февраль 2000 г.). Платформа расширения HTTP. IETF. Дои:10.17487 / RFC2774. RFC 2774. Получено 24 октября, 2009.
  70. ^ «ResumableHttpRequestsProposal». Архивировано из оригинал 13 октября 2015 г.. Получено 8 марта, 2017.
  71. ^ «Apache ProxyErrorOverride». В архиве с оригинала 12 июня 2018 г.. Получено 7 июня, 2018.
  72. ^ «Enum HttpStatus». Spring Framework. org.springframework.http. В архиве с оригинала 25 октября 2015 г.. Получено 16 октября, 2015.
  73. ^ «Коды ошибок Twitter и ответы на них». Twitter. 2014. Архивировано с оригинал 27 сентября 2017 г.. Получено 20 января, 2014.
  74. ^ «Коды статуса HTTP и SEO: что вам нужно знать». ContentKing. Получено 9 августа, 2019.
  75. ^ «Скриншот страницы ошибки». Архивировано из оригинал (BMP) 11 мая 2013 г.. Получено 11 октября, 2009.
  76. ^ а б «Использование аутентификации на основе токенов». Пакет SDK для ArcGIS Server SOAP. Архивировано из оригинал 26 сентября 2014 г.. Получено 8 сентября, 2014.
  77. ^ «Коды ошибок HTTP и быстрые исправления». Docs.cpanel.net. Архивировано из оригинал 23 ноября 2015 г.. Получено 15 октября, 2015.
  78. ^ «Документация по SSL Labs API v3». github.com.
  79. ^ «Соображения по поводу платформы | Документы Pantheon». pantheon.io. Архивировано из оригинал 6 января 2017 г.. Получено 5 января, 2017.
  80. ^ http://www.injosoft.se, Injosoft AB. «Коды статуса HTTP — ascii-code.com». www.ascii-code.com. Архивировано из оригинал 7 января 2017 г.. Получено 23 декабря, 2016.
  81. ^ «Сообщение об ошибке при попытке войти в Exchange 2007 с помощью Outlook Web Access:» 440 Тайм-аут входа««. Microsoft. 2010. Получено 13 ноября, 2013.
  82. ^ «2.2.6 449 Retry With Status Code». Microsoft. 2009. В архиве из оригинала 5 октября 2009 г.. Получено 26 октября, 2009.
  83. ^ «MS-ASCMD, раздел 3.1.5.2.2». Msdn.microsoft.com. В архиве с оригинала 26 марта 2015 г.. Получено 8 января, 2015.
  84. ^ «Мисс-оксдиско». Msdn.microsoft.com. В архиве с оригинала 31 июля 2014 г.. Получено 8 января, 2015.
  85. ^ «Коды состояния HTTP в IIS 7.0». Microsoft. 14 июля 2009 г. В архиве из оригинала от 9 апреля 2009 г.. Получено 1 апреля, 2009.
  86. ^ «ngx_http_request.h». исходный код nginx 1.9.5. nginx inc. Архивировано из оригинал 19 сентября 2017 г.. Получено 9 января, 2016.
  87. ^ «ngx_http_special_response.c». исходный код nginx 1.9.5. nginx inc. Архивировано из оригинал 8 мая 2018 г.. Получено 9 января, 2016.
  88. ^ директива return В архиве 1 марта 2018 г. Wayback Machine (модуль http_rewrite) документация.
  89. ^ «Устранение неполадок: страницы ошибок». Cloudflare. Архивировано из оригинал 4 марта 2016 г.. Получено 9 января, 2016.
  90. ^ «Ошибка 520: веб-сервер возвращает неизвестную ошибку». Cloudflare. Получено 1 ноября, 2019.
  91. ^ «Ошибка 527: ошибка прослушивателя рейлгана для источника». Cloudflare. В архиве с оригинала 13 октября 2016 г.. Получено 12 октября, 2016.
  92. ^ «Ошибка 530». Cloudflare. Получено 1 ноября, 2019.
  93. ^ а б «Устранение неполадок в балансировщиках нагрузки вашего приложения — эластичная балансировка нагрузки». docs.aws.amazon.com. Получено 27 августа, 2019.

внешняя ссылка

  • RFC 7231 — протокол передачи гипертекста (HTTP / 1.1): семантика и контент — Раздел 6, Коды состояния ответа
  • Реестр кода состояния протокола передачи гипертекста (HTTP)
  • База знаний Microsoft: MSKB943891: Коды состояния HTTP в IIS 7.0
  • База знаний Microsoft Office: Код ошибки 2–11

All I found: «The requested resource MUST be accessed through the proxy given by the Location field. The Location field gives the URI of the proxy. The recipient is expected to repeat this single request via the proxy. 305 responses MUST only be generated by origin servers.»

How to use it properly? What if there’s no proxy under given URL?

Robert Siemer's user avatar

asked Jan 13, 2011 at 21:52

Sarah's user avatar

1

Its a redirect, you use it when you want to tell a client to get the content from somewhere else. The URI given doesn’t have to be a ‘proxy’ in the colloquial use of the word. It it just another place where the originally requested content exists.

People use it for load balancing. I’m not sure what clients implement it properly, so if you just want to redirect, you’ll be safer going with a 302.

Edit

The intended use example, as described in HTTP RFC: Say you have a caching proxy, and the content on it comes from the real server (the origin server). You’d send a 305 if someone somehow directly accessed the real server, and you wanted them to get it from the proxy instead.

answered Jan 13, 2011 at 21:57

profitphp's user avatar

profitphpprofitphp

8,0462 gold badges27 silver badges21 bronze badges

4

Rarely used code, is the server allowed to send it if the client as a proxy in the chain of communication? maybe not, but detecting a proxy is hard. If there’s a reverse proxy just after the server, will this proxy accept a 305 error and forwrd it to the HTTP client?

It’s normally done to redirect a ‘direct access’ which should use a secure proxy access, and the question is why a direct access is available? Certainly something wrong in the security chain before.

So who cares using 305 in the server side? I hope you’re not trying to generate a 305 response.

If you’re the HTTP client it’s just a redirect like a 302, you don’t need to know if you’re talking to a proxy or not (and it would be hard to know it sometimes).

Richard Harrison's user avatar

answered Jan 13, 2011 at 22:08

regilero's user avatar

regileroregilero

29.7k6 gold badges60 silver badges99 bronze badges

Привет, читатель блога ZametkiNaPolyah.ru! Продолжим знакомиться с протоколом HTTP в рубрике серверы и протоколы и ее разделе HTTP протокол.  Данная публикация будет о HTTP кодах состояния перенаправления. К HTTP кодам перенаправления относятся следующие коды: 300, 301, 302, 303, 304, 305, 306, 307. Напомню, что коды перенаправления говорят клиенту о том, что для успешного завершения запроса необходимо выполнить какое-то действие. Обычно браузеры выполняют такие действия без вмешательства пользователя. В данной записи мы рассмотрим сперва все HTTP коды перенаправления, а затем рассмотрим каждый код в отдельности более подробно.

HTTP коды состояния перенаправления: 300, 301, 302, 303, 304, 305, 306, 307

HTTP коды состояния перенаправления: 300, 301, 302, 303, 304, 305, 306, 307

Общая информации о HTTP кодах перенаправления

Содержание статьи:

  • Общая информации о HTTP кодах перенаправления
  • HTTP код состояния 300: множественный выбор. HTTP код состояния 301: постоянно перенесен. HTTP код состояния 302: временно перемещен.
  • HTTP код состояния 303: смотреть другой ресурс. HTTP код состояния 304: ресурс не модифицирован. HTTP код состояния 305: использовать прокси сервер. HTTP код состояния 307: временное перенаправление

Если вы хотите узнать всё про протокол HTTP, обратитесь к навигации по рубрике HTTP протокол.  Да, эти коды состояния, как раз и есть тот самый Redirect 301 или склейка доменов, глупое выражение: Redirect 301 – склейка домена. Автор тоже этим грешил, автор каится и обещает исправиться. Все дело в том, что 301 – это всего лишь, код, который означает, что произошло перенаправление, а вот за склейку доменов отвечает HTTP сервер и его конфигурации, поэтому крайне неправильно говорить этот ваш редирект 301.

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

Для удобства давайте сведем все HTTP коды состояния перенаправления в единую таблицу и дадим им краткое описание.

HTTP ответ Описание кода состояния перенаправления
300 Multiple Choices HTTP код перенаправления 300: множественный выбор
HTTP код состояния 300 говорит клиенту о том, что запрошенный ресурс имеет несколько представлений и клиент в праве выбрать одно из предлагаемых представлений.  Действует ограничение в пять адресов максимум.
301 Moved Permanently HTTP код перенаправления 301: постоянно перемещен
HTTP код состояния 301 говорит клиенту о том, что запрашиваемая страница была перенесена на новый адрес, обычно браузер автоматически переходит по новому адресу.
302 Found HTTP код перенаправления 302: временно перемещен
HTTP код состояния 302 говорит клиенту о том, что запрашиваемый ресурс был временно перемещен на новый адрес.
303 See Other HTTP код перенаправления 303: смотри другой
HTTP код состояния 303 говорит клиенту о том, что ответ на запрос может быть найден по другому URI (про URI в HTTP найдешь информацию здесь), новый запрос следует выполнять методом GET (про HTTP методы смотри здесь).
304 Not Modified HTTP код перенаправления 304: не модифицирован
HTTP код состояния 304 говорит клиенту о том, что сервер выполнил условный GET запрос, но документ никак не изменился.
305 Use Proxy HTTP код перенаправления 305: используй прокси
HTTP код состояния 304 говорит клиенту о том, что запрошенный URL должен быть доступен через прокси, который указан в поле заголовка Location.
306 Unused HTTP код перенаправления 306: зарезервировано
Код состояния 306 использовался в прошлой версии HTTP протокола, на данный момент он не используется, но зарезервирован стандартом HTTP.
307 Temporary Redirect HTTP код перенаправления 307: временно перемещен
HTTP код состояния 307 говорит клиенту о том, что запрашиваемая страница временно переехала на новый адрес

Давайте более подробно поговорим про каждый из кодов состояний HTTP сервера класса перенаправления.

HTTP код состояния 300: множественный выбор. HTTP код состояния 301: постоянно перенесен. HTTP код состояния 302: временно перемещен.

HTTP код состояния 300 или код множественного выбора говорит о том, что клиент может выбрать несколько доступных представлений ресурса, но не более пяти. Каждое представление ресурса имеет свое уникальное месторасположения на сервере. Формат, в котором клиент будет получать HTTP объект определяется медиа типом данных (читай про типы данных в HTTP по этой ссылке), указанным в поле заголовка Content-Type. Иногда выбор выполняется автоматически браузером без участия пользователя, но стандарт HTTP протокола не дает никаких критериев, по которым должен происходить автоматический выбор, а так же не имеет никаких требований. Ответы HTTP сервера с кодом состояния 300 по умолчанию являются кэшируемыми, если в заголовках не указано иного.

HTTP код состояния 301 или код состояния постоянного переноса. Код состояния 301 сообщает браузеру о том, что для ресурса, к которому он обратился, назначен новый URI, и все обращения к этому ресурсу следует выполнять по новому URI, указанному в ответе HTTP сервера. Ответы сервера с кодом 301 являются кэшируемыми. В тех случаях, когда клиент использовал HTTP запрос с методом отличным от GET или HEAD, браузер спрашивает у пользователя, что делать дальше: переходить по новому URI или не надо.

HTTP код состояния 302 или код временного перемещения ресурса. Код состояния 302 говорит о том, что на данный момент ресурс временно доступен по другому URI и сообщает новый URI ресурса. Кэшируемость ответов сервера с кодом 302 зависит только от значений полей заголовка Cache-Control или Expires. В тех случаях, когда клиент использовал запрос с методом отличным от GET или HEAD, браузер спрашивает у пользователя, что делать дальше: переходить по новому URI или не надо.

HTTP код состояния 303: смотреть другой ресурс. HTTP код состояния 304: ресурс не модифицирован. HTTP код состояния 305: использовать прокси сервер. HTTP код состояния 307: временное перенаправление

HTTP код состояния 303 или код состояния смотреть другой ресурс. Если клиент получает ответ с кодом 303, то это означает, что ответ на его запрос может быть найден по другому URI и его можно запросить при помощи метода GET. Чаще всего ответы с кодом состояния 303 используются, чтобы вывести информацию из формы. Ответы сервера с кодом 303 не кэшируются.

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

  • Date;
  • ETag или Content-Location;
  • Expires, Cache-Control или

Ответы сервера с кодом 304 всегда завершаются пустой строкой после полей заголовка.

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

HTTP код состояния 306 использовался в старых версиях протокола HTTP, но теперь является просто зарезервированным.

HTTP код состояния 307 аналогичен коду состояния 302.

Настраивая HTTP сервер не забывайте про особенности HTTP соединения и помните, что код состояния — это параметр HTTP.  Мы рассмотрели коды перенаправления HTTP, давайте перейдем к кодам ошибок клиента. В HTTP есть еще: информационные коды, успешные коды, коды ошибок клиента и коды ошибок сервера. А если тебе нужна информацию обо всех кодах состояния, обратись к справочнику HTTP кодов состояния, в котором есть полное описание всех кодов.

Понравилась статья? Поделить с друзьями:
  • Hp laserjet pro 400 mfp m425dn ошибка сканера
  • Html код 404 ошибки
  • Hyundai solaris ошибка p0222
  • Hp laserjet pro 400 m401dn ошибка 79
  • Html webpack plugin ошибка