Skip to content

HTTP Status Codes Cheat Sheet

Informational Responses

Status Code Reason Phrase Meaning HTTP Version
100 Continue The client should continue to send the request. This temporary response is used to notify the client that part of its request has been received by the server and has not yet been rejected. The client should continue to send the remainder of the request, or if the request is already complete, ignore this response. The server must send a final response after the request is complete. HTTP/1.1 Available
101 Switching Protocols The 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 sending the last empty line of this response, the server will switch to the protocols defined in the Upgrade message header. This measure should only be taken when switching to a new protocol is more advantageous. For example, switching to a new version of HTTP is more advantageous than an older version, or switching to a real-time, synchronous protocol to deliver resources utilizing such features. HTTP/1.1 Available

Successful Responses

Status Code Reason Phrase Meaning HTTP Version
200 OK The request was successful. The meaning of success varies depending on the method used by the request.- GET: The resource has been extracted and returned to the client as the response body.- HEAD: The entity header has been returned to the client as the response header.- POST: After the server processes the data sent by the client, the appropriate resource is returned to the client as the response body.- TRACE: The request message received by the server is returned to the client as the response body. HTTP/0.9 Available
201 Created The request was successful, and a new resource has been created based on the needs of the request. This is usually the response code obtained by the PUT method. HTTP/0.9 Available
202 Accepted The server has accepted the request but has not yet processed it. Just as it might be rejected, the request may or may not ultimately be executed. In asynchronous operations, there is no more convenient way than to send this status code. The Purpose of returning a 202 status code response is to allow the server to accept requests for other processes (e.g., a batch operation that only runs once a day) without having to keep the client connected until the batch operation is complete. The response returning the 202 status code should include some information indicating the current state of the processing in the entity, and a pointer to a processing state monitor or state prediction, so that the user can estimate whether the operation has been completed. HTTP/0.9 Available
203 Non-Authoritative Information The server has successfully processed the request, but the entity header meta-information returned is not a deterministic set valid on the origin server, but comes from a local or third-party copy. If this is not the case, using the 200 status code is most appropriate. HTTP/0.9 and 1.1
204 No Content There is no response content, only response headers. The response headers may also be useful. User agents can update the cache information of corresponding resources based on the new response headers. HTTP/0.9 Available
205 Reset Content Tells the user agent to reset the document view of the window that sent the request. HTTP/1.1 Available
206 Partial Content This status code is used when the client downloads files in segments by using the range header field. HTTP/1.1 Available

Redirection Messages

Status Code Reason Phrase Meaning HTTP Version
300 Multiple Choice There are multiple possible responses to the request, and the user agent or user must choose one of them. The server does not have any standards to follow to replace the user in making the choice. HTTP/1.0 and later
301 Moved Permanently This status code indicates that the requested URI resource path has changed, and the new URL will be found in the Location header field of the response. HTTP/0.9 Available
302 Found This status code indicates that the requested URI resource path has changed temporarily, and it may continue to change. Therefore, the client should continue to use this URI for future access. The new URL will be found in the Location: header field of the response. HTTP/0.9 Available
303 See Other The server sends this response to guide the client to use the GET method to access another URI. HTTP/0.9 and 1.1
304 Not Modified Tells the client that the requested content has not changed since the last access. The client can obtain the resource directly from the browser cache. HTTP/0.9 Available
305 Use Proxy The requested resource must be accessed via a proxy. For security reasons, this status code is not widely supported. HTTP/1.1 Available
306 unused This status code is no longer used; it was originally used in older versions of the HTTP 1.1 specification. HTTP/1.1 Available
307 Temporary Redirect The server sends this response to guide the client to use the same method to access another URI to obtain the desired resource. The new URL will be found in the Location: header field of the response. It has the same semantics as the 302 status code, and the same method (GET, POST) must be used for both accesses. HTTP/1.1 Available
308 Permanent Redirect The requested resource will be permanently located on another URI. The new URL will be found in the Location: header field of the response. It has the same semantics as the 301 status code, and the same method (GET, POST) must be used for both accesses. HTTPbis (Experimental Draft)

Client Error Responses

Status Code Reason Phrase Meaning HTTP Version
400 Bad Request The server cannot read the request normally due to a syntax error in the request sent. HTTP/0.9 Available
401 Unauthorized Authentication is required to obtain the requested content, similar to a 403 error. The difference is that after a 401 error, authentication can be passed as long as the correct account and password are entered. HTTP/0.9 Available
402 Payment Required This status code is reserved for future use. The initial purpose of creating this code was for digital payment systems; however, it has not yet been put into use. HTTP/0.9 and 1.1
403 Forbidden The client does not have the right to access the requested content, and the server refuses the request. HTTP/0.9 Available
404 Not Found The server cannot find the requested resource. Since this happens frequently, this status code is very common while browsing the web. HTTP/0.9 Available
405 Method Not Allowed The method used by the request is prohibited by the server. RFC2616 stipulates that GET and HEAD methods cannot be prohibited. HTTP/1.1 Available
406 Not Acceptable No suitable content was found to be returned to the client after server-driven content negotiation. HTTP/1.1 Available
407 Proxy Authentication Required Similar to status code 401, but authentication is required through a proxy. HTTP/1.1 Available
408 Request Timeout The client did not complete the sending of a request within the time the server was prepared to wait. This means that the server will cut the connection with the client. This response is more common in other browsers, such as Chrome and IE9, for the purpose of speeding up browsing speeds using the HTTP pre-connection mechanism. Also note that some servers cut the connection directly without sending such a response. HTTP/1.1 Available
409 Conflict This request conflicts with the current state of the server. HTTP/1.1 Available
410 Gone The requested resource has been deleted. HTTP/1.1 Available
411 Length Required The server refuses the request because it requires the Content-Length header field in this request, but the client did not send it. HTTP/1.1 Available
412 Precondition Failed The server failed to meet the preconditions set by the client in the request header fields when obtaining the resource. HTTP/1.1 Available
413 Request Entity Too Large The request entity size exceeds the maximum limit set by the server; the server may close the HTTP connection and return the Retry-After header field. HTTP/1.1 Available
414 Request-URI Too Long The URI address contained in the client request is too long for the server to process. HTTP/1.1 Available
415 Unsupported Media Type The server does not support the media type requested by the client and therefore refuses the request. HTTP/1.1 Available
416 Requested Range Not Satisfiable The Range header field included in the request cannot be satisfied, usually because the number range in Range exceeds the size of the requested resource. HTTP/1.1 Available
417 Expectation Failed The expected content specified in the request header Expect cannot be satisfied by the server. HTTP/1.1 Available

Server Error Responses

Status Code Reason Phrase Meaning HTTP Version
500 Internal Server Error The server encountered an unknown, unsolvable problem. HTTP/0.9 Available
501 Not Implemented The server does not support the method used in the request, such as POST and PUT. Only GET and HEAD are the methods that the server must implement as specified in the RFC2616 specification. HTTP/0.9 Available
502 Bad Gateway The server acts as a gateway and receives an invalid HTTP response from the upstream server. HTTP/0.9 Available
503 Service Unavailable The server is currently unable to handle the request due to temporary server maintenance or overload. This situation is temporary and will recover after a period of time. If the delay time can be estimated, the response can include a Retry-After: header to indicate this delay time. If no Retry-After: information is given, the client should handle it as a 500 response. Meanwhile, in this case, a friendly page explaining the problem with the server should be returned, and cache-related HTTP header information should also be included, as usually such error tip pages should not be cached by the client. HTTP/0.9 Available
504 Gateway Timeout The server acts as a gateway and cannot get a timely response from the upstream server to return to the client. HTTP/1.1 Available
505 HTTP Version Not Supported The server does not support the version of the HTTP protocol used in the HTTP request sent by the client. HTTP/1.1 Available