HTTP Status Code list

Source: Internet
Author: User
Tags http digest authentication response code rfc

Common HTTP status Codes

1XX message--The request has been received by the server to continue processing
2XX Success-The request has been successfully received, understood, and accepted by the server
3xx redirection-Requires a follow-up action to complete this request
4XX Request Error--Request contains lexical error or cannot be executed
5XX Server Error--An error occurred while the server was processing a correct request
100~199: Indicates a successful receive request that requires the client to continue submitting the next request in order to complete the process.
200~299: Indicates that the request was received successfully and the entire process has been completed. Common 200
300~399: To complete the request, the customer needs to refine the request further. For example: The requested resource has moved a new address, common 302 (meaning you ask me, I ask you to find someone else), 307 and 304 (I do not give you this resource, take the cache yourself)
400~499: Client request has error, common 404 (means that the resource you requested is not in the Web server) 403 (server denied access, insufficient permissions)
500~599: Server side error, common 500

1XX message
This type of status code, which indicates that the request has been accepted and needs to be processed. This type of response is a temporary response that contains only the status line and some optional response header information and ends with a blank line. Because no 1XX status codes are defined in the HTTP/1.0 protocol, the server prohibits sending a 1xx response to such clients unless under some experimental conditions. [4] These status codes represent a response that is informative and identifies other actions that the customer should take. The
Continue
Server has received the request header, and the client should continue to send the request principal (in the case of a request to send the body: For example, a POST request), or ignore the response if the request has been completed. The server must send a final response to the client after the request is complete. For the server to check the requested header, the client must send Expect:100-continue as the header in its initial request and receive the continue status code before the body is sent. Response Code 417 Hope failure indicates that the request should not continue. [2] The
101 switching Protocols
Server has understood the client's request and will notify the client through the upgrade message header to use a different protocol to complete the request. After the last empty line of the response is sent, the server switches to those protocols defined in the upgrade message header. [5] The
should take a similar approach only if it is more beneficial to switch to a new protocol. For example, switching to a new HTTP version (such as HTTP/2) is more advantageous than an older version, or switching to a real-time, synchronized protocol such as WebSocket to deliver resources that exploit such features. The
102 processing (WEBDAV;RFC 2518)
WebDAV request may contain many child requests involving file operations that take a long time to complete the request. What does the code mean?? The server has received and is processing the request, but no response is available. [6] This prevents the client from timing out and assumes that the request was lost.

2xx success [Edit]
This type of status code indicates that the request has been successfully received, understood, and accepted by the server. [2]
OK
The request was successful, and the desired response header or data body will be returned with this response. The actual response will depend on the request method being used. In a GET request, the response contains the entity that corresponds to the requested resource. In a POST request, the response will contain the entity describing or manipulating the result. [7]
201 Created
The request has been implemented, and a new resource has been established according to the request, and its URI has been returned with the location header information. If the necessary resources cannot be established in time, the ' 202 Accepted ' should be returned. [8]
202 Accepted
The server has accepted the request but has not yet processed it. Eventually, the request may or may not be executed, and may be banned when processing occurs. [9]
203 non-authoritative information (since http/1.1)
The server is a conversion proxy (transforming proxy, for example, a network accelerator), which originates from a $ OK status code, but responds to a modified version of the original response. [10] [11]
204 No Content
The server successfully processed the request and did not return any content. [12]
205 Reset Content
The server successfully processed the request, but did not return any content. Unlike the 204 response, this response requires the requestor to reset the document view. [13]
206 Partial Content (RFC 7233)
The server has successfully processed a partial GET request. HTTP download tools such as FlashGet or Thunderbolt are used to implement a breakpoint continuation or to decompose a large document into multiple download segments for download at the same time. [14]
207 Multi-Status (WEBDAV;RFC 4918)
The message body after the representation will be an XML message and may contain a series of independent response codes, depending on the number of previous child requests. [15]
208 already reported (WEBDAV;RFC 5842)
The members of the DAV binding have been enumerated before (a multi-state) response, and are not included again.
226 IM Used (RFC 3229)
The server has satisfied the request for the resource, representing the result of one or more entity operations requested by the entity.

3xx redirection [Edit]
This type of status code represents the need for the client to take further action to complete the request. Typically, these status codes are used for redirection, and subsequent request addresses (redirected targets) are indicated in the location domain of the response. [2]
The user's browser can automatically submit required subsequent requests without user intervention, when and only if the method used by subsequent requests is get or head. The client should automatically monitor for Infinite loop redirection (ex: a→b→c→ ...). →a or A→a), because this causes a large amount of unnecessary resource consumption for the server and the client. The browser should not automatically access more than 5 redirects, as recommended by the Http/1.0 Edition specification. [17]
Multiple Choices
The requested resource has a range of available feedback information, each with its own specific address and browser-driven negotiation information. The user or browser is able to choose a preferred address to redirect itself. [18]
Unless this is a head request, the response should include an entity with a list of resource attributes and addresses so that the user or browser can choose the most appropriate redirect address. The format of this entity is determined by the format defined by Content-type. The browser may automatically make the most appropriate choice based on the format of the response and the ability of the browser itself. Of course, the RFC 2616 specification does not specify how such an automatic selection should proceed.
If the server itself already has the preferred feedback option, the URI of the feedback should be indicated in the location, which the browser may use as the address for automatic redirection. In addition, this response is cacheable unless otherwise specified.
301 Moved Permanently
The requested resource has been permanently moved to a new location, and any future references to this resource should use one of several URIs returned by this response. If possible, clients that have link editing capabilities should automatically modify the requested address to the address returned from the server. [19] Unless otherwise specified, the response is also cacheable.
The new permanent URI should be returned in the location domain of the response. Unless this is a head request, the response entity should contain a hyperlink to the new URI and a short description.
If this is not a get or head request, the browser disables automatic redirection unless the user confirms it, because the requested condition may vary.
Note: For some browsers that use the http/1.0 protocol, when they send a POST request that gets a 301 response, the next redirect request becomes a Get method.
302 Found
Requires the client to perform a temporary redirect (the original description phrase is "Moved temporarily"). [20] Since such redirection is temporary, the client should continue to send subsequent requests to the original address. This response is cacheable only if specified in Cache-control or expires.
The new temporary URI should be returned in the location domain of the response. Unless this is a head request, the response entity should contain a hyperlink to the new URI and a short description.
If this is not a get or head request, then the browser disables automatic redirection unless the user confirms it, because the requested condition may vary.
Note: Although the RFC 1945 and RFC 2068 specifications do not allow the client to change the method of the request during redirection, many existing browsers treat the 302 response as a 303 response, and use get to access the URI specified in the location, ignoring the method originally requested. [21] Thus the status Codes 303 and 307 are added to clarify what the server expects the client to react to. [22]
303 See other
The response to the current request can be found on another URI, and when the response is received by post (or Put/delete), the client should assume that the server has received the data and should use a separate get message to issue the redirect. [23] This method exists primarily to allow the output of a POST request that is activated by the script to redirect to a new resource. This new URI is not an alternative reference to the original resource. Meanwhile, a 303 response is forbidden to be cached. Of course, a second request (redirect) may be cached.
The new URI should be returned in the location domain of the response. Unless this is a head request, the response entity should contain a hyperlink to the new URI and a short description.
Note: Many http/1.1 versions of previous browsers do not correctly understand the 303 status. If you need to consider the interaction with these browsers, the 302 status code should be competent, because most browsers handle 302 response in the way that the above specification requires the client to handle the 303 response should be done.
304 Not Modified
Indicates that the resource was not modified because the request header specifies the version if-modified-since or If-none-match. In this case, the client does not need to retransmit the resource because it still has a previously downloaded copy. [24]
305 Use Proxy
The requested resource must be accessed through the specified proxy. The URI information for the specified proxy is given in the location domain, and the recipient needs to send a separate request repeatedly to access the resource. Only the original server can establish a 305 response. Many HTTP clients (like mozilla[25] and Internet Explorer) have not handled the response to this status code correctly, primarily for security reasons. [26]
Note: There is no explicit 305 response in RFC 2068 to redirect a single request and can only be established by the original server. Ignoring these restrictions can lead to serious security consequences.
306 Switch Proxy
In the latest version of the specification, the 306 status code is no longer in use. The initial point is that "subsequent requests should use the specified proxy." [27]
307 Temporary Redirect
In this case, the request should be duplicated with another URI, but the subsequent request should still use the original URI. In contrast to 302, the change request method is not allowed when the original request is re-issued. For example, you should use another POST request to repeat the POST request. [28]
308 Permanent Redirect (RFC 7538)
The request and all future requests should be duplicated using another URI. 307 and 308 Repeat the behavior of 302 and 301, but do not allow HTTP method changes. For example, a resource that submits a form to a permanent redirect might go smoothly. [29]
4xx client Error [edit]
This type of status code indicates that the client may appear to have an error that prevents the server from processing. Unless the response is a head request, the server should return an entity that interprets the current error condition, and whether this is a temporary or permanent condition. These status codes apply to any request method. The browser should display to the user any entity content contained in such an error response. [30]
If the client is transmitting data when an error occurs, the server implementation using TCP should carefully ensure that the client has received a packet containing the error message before shutting down the connection between the client and the server. If the client continues to send data to the server after receiving the error message, the server's TCP stack sends a reset packet to the client to clear all unrecognized input buffers for that client so that the data is not read by the application on the server and interferes with the latter.
Request
Because of a noticeable client error (for example, malformed request syntax, too large size, invalid request message, or spoofed routing request), the server cannot or does not process the request. [31]
401 Unauthorized (RFC 7235)
See also: HTTP Basic authentication, HTTP Digest authentication
Similar to 403 forbidden,401 semantics is "unauthenticated", that is, the user does not have the necessary credentials. [32] The status code indicates that the current request requires user authentication. The response must contain a Www-authenticate information header for the requested resource to ask for user information. The client can repeatedly submit a request that contains the appropriate authorization header information. [33] If the current request already contains the authorization certificate, then the 401 response indicates that the certificate has been rejected by the server authentication. If the 401 response contains the same authentication query as the previous response, and the browser has tried at least one validation, the browser should show the user the entity information contained in the response, because the entity information may contain related diagnostic information.
Note: When a website (usually a website domain name) prohibits an IP address, some site status codes display 401, indicating that the particular address is denied access to the site.
402 Payment Required
This status code is reserved for possible future requirements. The initial intent of the status code may be used as part of some form of digital cash or online payment scheme, but few service providers are used, and this status code is usually not used. The Google developers API uses this status code if a specific developer has exceeded the requested daily limit. [34]
403 Forbidden
The server has understood the request, but refuses to execute it. Unlike the 401 response, authentication does not provide any help, and the request should not be repeated. If this is not a head request, and the server wants to be able to explain why the request cannot be executed, then the reason for the rejection should be described within the entity. Of course the server can also return a 404 response if it does not want the client to get any information.
404 Not Found
The request failed, and the requested resource was not found on the server, but the user's subsequent request was allowed. [35] No information can tell the user whether the situation is temporary or permanent. If the server knows the situation, it should use the 410 status code to tell the old resources because of some internal configuration mechanism problems, has been permanently unavailable, and there is no jump to the address. 404 This status code is widely used when the server does not want to reveal exactly why the request was rejected or if no other appropriate response is available.
405 Method not allowed
The request method specified in the request line cannot be used to request the appropriate resource. The response must return an allow header to indicate a list of request methods that the current resource can accept. For example, a GET request on a form that needs to render data through post, or a put request on a read-only resource.
Because the Put,delete method writes to resources on the server, most Web servers do not support or do not allow the above request method under the default configuration, and 405 errors are returned for such requests.
406 Not acceptable
See also: Content negotiation
The content attribute of the requested resource could not satisfy the condition in the request header, so the response entity could not be generated and the request was unacceptable. [36]
Unless this is a head request, the response should return an entity that contains the most appropriate entity attributes and address lists that the user or browser can choose from. The format of the entity is determined by the media type defined in the Content-type header. The browser can make the best choice based on its format and ability. However, the specification does not define any criteria for making such automatic selections.
407 Proxy Authentication Required (RFC 2617)
Similar to the 401 response, except that the client must authenticate on the proxy server. [37] The proxy server must return a proxy-authenticate for identity questioning. The client can return a Proxy-authorization message header for verification.
408 Request Timeout
The request timed out. According to the HTTP specification, the client does not complete a request to be sent within the time the server prepares to wait, and the client can submit the request again at any time without making any changes. [38]
409 Conflict
Represents an edit conflict that cannot be processed because of a request conflict, such as multiple synchronization updates.
410 Gone
Indicates that the requested resource is no longer available and will no longer be available. This should be used when the resource is intentionally deleted and the resource should be purged. After receiving the 410 status code, the user should stop requesting the resource again. [39] However, most services do not use this status code, but instead use the 404 status code directly.
411 Length Required
The server refuses to accept the request without defining a content-length header. After adding a valid Content-length header that indicates the body length of the request message, the client can submit the request again. [40]
412 Precondition Failed (RFC 7232)
The server failed to satisfy one or more of these when validating the prerequisites in the header field of the request. [41] This status code allows the client to set the prerequisites in the requested meta-information (Request header field data) when acquiring the resource, in order to prevent the request method from being applied to resources other than what it wants.
413 Request Entity Too Large (RFC 7231)
The previously called "Request entity Too Large" indicates that the server refuses to process the current request because the size of the entity data submitted by the request exceeds the scope that the server is willing or able to handle. [42] In this case, the server can close the connection to prevent the client from continuing to send this request.
If this condition is temporary, the server should return a retry-after response header to tell the client how much time it can retry.
414 Request-uri Too Long (RFC 7231)
Formerly known as "Request-uri Too Long", [43] indicates that the requested URI length exceeds the length that the server can interpret, so the server refuses to service the request. The result of too much data is typically encoded as a query string for a GET request, in which case it should be converted to a POST request. [44] This is relatively uncommon, and the usual conditions include:
A form submission that should use the Post method becomes a Get method, which causes the query string to be too long.
REDIRECT uri "Black Hole", for example, each redirect takes the old Uri as part of the new URI, resulting in a long URI after several redirects.
The client is trying to exploit a security vulnerability in some servers to attack the server. This type of server uses a fixed-length buffer to read or manipulate the requested URI, and when the get parameter exceeds a certain value, a buffer overflow may result, resulting in arbitrary code being executed [45]. A server that does not have such a vulnerability should return a 414 status code.
415 Unsupported Media Type
For the currently requested method and the requested resource, the Internet media type submitted in the request is not a supported format in the server, so the request is rejected. For example, the client uploads the image to SVG, but the server requires that the image be jpg in the upload format.
416 Requested Range not satisfiable (RFC 7233)
Formerly known as "requested Range not satisfiable". [46] The client has requested a portion of the file (Byte serving), but the server cannot provide that part. For example, if the client requires a portion of the file to exceed the end of the file. [47]
417 Expectation Failed
The expected content specified in the request header expect could not be satisfied by the server, or the server was a proxy for evidence that the contents of expect could not be satisfied on the next node of the current route. [48]
418 I ' m a teapot (RFC 2324)
This opcode was defined in the 1998 as an IETF traditional April Fool's joke, in the RfC 2324 Hypertext Coffee Pot Control Protocol, and does not need to be defined in a real HTTP server. When a HTCPCP that controls tea pot receives a brew or post instruction that requires its coffee to be brewed, it should be sent back this bug. [49] This HTTP status code is on some websites (including google.com) and items such as node. js, ASP. NET and go languages) are used as eggs. [50]
420 Enhance Your Caim
The Twitter search and trends API are returned with a limited speed for the client.
421 misdirected Request (RFC 7540)
The request is for a server that cannot generate a response (for example, because of connection reuse). [51]
422 unprocessable Entity (WEBDAV;RFC 4918)
The request is well-formed, but cannot be responded to because of a semantic error. [15]
423 Locked (WEBDAV;RFC 4918)
The current resource is locked. [15]
424 Failed Dependency (webdav;rfc 4918)
The current request failed, such as Proppatch, because of an error that occurred in a previous request. [15]
425 unodered Cellection
Defined in WebDAV Advanced Collections Protocol, but Web distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol does not exist.
426 Upgrade Required (RFC 2817)
The client should switch to tls/1.0 and be given in the http/1.1 Upgrade header. [15]
428 Precondition Required (RFC 6585)
The original server requires that the request meet certain conditions. This is to prevent the ' not updated ' problem, which is that the client reads (GET) The state of a resource, changes it, and writes it back to the server, but during this time the third party has changed the state of the resource on the server and therefore caused the conflict. "[52]
429 Too Many requests (RFC 6585)
The user has sent too many requests within a given time. Designed for network speed limit. [52]
431 Request Header fields Too Large (RFC 6585)
The server is reluctant to process the request because one or more header fields are too large. [52]
444 No Response
Nginx on the HTTP server expansion. The server does not return any information to the client and closes the connection (which helps prevent malicious software).
Blocked by Windows parental Controls
This is an example of a 450-state code that is blocked by Windows Home Control (Microsoft) HTTP for information and testing purposes.
451 Unavailable for Legal reasons
The visit was rejected as a result of legal requirements and was increased by the IETF after 2015 approval. [53] [54] [55]
494 Request Header Too Large
This is in the case of synthesizing the Fourier transform, showing each number as the state of the planetary chakra.
5xx server error [edit]
Indicates that the server was unable to complete a clearly valid request. [56] This type of status code represents the server in the process of processing the request error or abnormal state occurs, it is possible that the server is aware that the current hardware and software resources can not complete the processing of the request. Unless this is a head request, the server should contain an explanatory information entity that interprets the current error state and whether the condition is temporary or permanent. The browser should show the user any entities that are contained in the current response. These status codes apply to any response method. [57]
Internal Server Error
Generic error message, the server encountered an unexpected condition that prevented it from completing the processing of the request. No specific error message is given. [58]
501 Not implemented
The server does not support a feature that is required for the current request. When the server does not recognize the requested method and cannot support its request for any resource. [59] (for example, new features of the Web Services API)
502 Bad Gateway
An invalid response was received from the upstream server when the server acting as a gateway or agent attempted to execute the request. [60]
503 Service Unavailable
The server is currently unable to process the request due to temporary server maintenance or overloading. This situation is temporary and will be resumed after a certain period of time. [61] If the delay time can be estimated, then the response can include a retry-after head to indicate the delay time. If this retry-after message is not given, the client should handle it in a manner that handles 500 responses.
504 Gateway Timeout
When a server acting as a gateway or agent attempts to execute a request, it fails to receive a response from the upstream server (the server that the URI identifies, such as HTTP, FTP, LDAP), or the secondary server (such as DNS). [62]
Note: Some proxy servers return 400 or 500 errors during DNS query timeout.
505 HTTP Version not supported
The server does not support or refuses to support the HTTP version used in the request. [63] This implies that the server is unable or unwilling to use the same version as the client. The response should contain an entity that describes why the version is not supported and which protocols the server supports.
506 Variant Also negotiates (RFC 2295)
Extended by the Transparent Content negotiation Protocol (RFC 2295), there is an internal configuration error on behalf of the server, and [64] The requested negotiation meta-resource is configured to use itself in transparent content negotiation, so it is not an appropriate focus in a negotiation process.
507 Insufficient Storage (WEBDAV;RFC 4918)
The server cannot store the content necessary to complete the request. The situation is considered to be temporary. [15]
508 Loop detected (WEBDAV;RFC 5842)
The server was caught in a dead loop while processing the request. (Can replace 208 status code)
510 Not Extended (RFC 2774)
The policies needed to get the resources are not met. [65]
511 Network Authentication Required (RFC 6585)
Clients require authentication to gain network access and are designed to restrict the user base from accessing a specific network.

HTTP Status Code list

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.