HTTP Status Codes Reference - Understand Web Server Responses

Comprehensive HTTP status codes reference guide. Quickly find and understand meanings of 1xx, 2xx, 3xx, 4xx, and 5xx status codes for web development and debugging.

HTTP Status Codes Reference

HTTP Status Codes Cheat-Sheet

Understanding HTTP status codes is crucial for web developers and administrators to diagnose issues and ensure smooth communication between clients and servers. This cheat-sheet provides a quick reference to the different categories and specific codes.

HTTP Status Code Categories

HTTP status codes are grouped into five classes:

Code Range Category Description
1XX Informational The request was received, continuing process.
2XX Success The request was successfully received, understood, and accepted.
3XX Redirection Further action needs to be taken by the user agent 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 fulfill an apparently valid request.

Complete HTTP Status Code List

Here is a detailed list of common HTTP status codes:

Code Name Description
100 Continue The server has received the request headers and the client should proceed to send the request body.
101 Switching Protocols The requester has asked the server to switch protocols and the server is acknowledging that it will do so.
102 Processing WebDAV; this code indicates that the server has received and is processing the request, but no response is available yet.
103 Early Hints Used to send some response headers before the final HTTP message.
200 OK The request has succeeded.
201 Created The request has succeeded and one or more new resources have been created as a result of it.
202 Accepted The request has been accepted for processing, but the processing has not been completed.
203 Non-Authoritative Information A transforming-header (e.g. 'Content-Encoding') was detected and the payload has been modified by the user agent's security or other filters.
204 No Content There is no content to send for this response. The response body is empty.
205 Reset Content This response code is sent after a request for an action that was completed successfully. It tells the user agent to reset the document which sent this request.
206 Partial Content This response code is used after a GET request that includes a range parameter to indicate that only part of the resource is being sent.
207 Multi-Status A WebDAV message that explains which webdav operations were executed.
208 Already Reported The members of a DAV binding have already been enumerated in a preceding part of the multi-status response.
226 IM Used The server has fulfilled a GET request for the resource, and the response is a representation of the result of applying one or more instance-manipulations to the current resource.
300 Multiple Choices The request has more than one possible response. User agent or user should choose one of them.
301 Moved Permanently This response code means that the URI of the requested resource has been changed permanently. The new URI is given in the Location header.
302 Found This response code means that the URI of the requested resource has been changed temporarily.
303 See Other The server sent this response to direct the client to get the requested resource at another URI with a GET request.
304 Not Modified This is used for caching purposes. It tells the client that the response has not been modified, so the client can continue to use the same cached version of the response.
305 Use Proxy Defined in a previous version of the HTTP specification. It indicates that a requested response must be accessed by a proxy.
307 Temporary Redirect The server sends this response to direct the client to get the requested resource at another URI with the same method that was used in the prior request.
308 Permanent Redirect This means that the resource is now permanently located at another URI, specified by the Location: HTTP Response header.
400 Bad Request The server could not understand the request due to invalid syntax.
401 Unauthorized The client must authenticate itself to get the requested response.
402 Payment Required This is a future reserved code. It was intended for use in digital payment systems.
403 Forbidden The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested information.
404 Not Found The server can't find the requested resource. This is a common error.
405 Method Not Allowed The request method is known by the server but is not supported by the target resource.
406 Not Acceptable The response cannot be generated in a format that conforms to the list of values that the user agent accepts.
407 Proxy Authentication Required The client needs to authenticate itself to a proxy.
408 Request Timeout The server would like to shut down the connection because the request took too long to complete.
409 Conflict This response is sent when a request conflicts with the current state of the server.
410 Gone This response is sent when the requested content has been permanently deleted from the server, with no forwarding address.
411 Length Required The server rejected the request because the Content-Length header field is not defined, and the server requires it.
412 Precondition Failed The server does not meet one of the preconditions that the requester has put before the request.
413 Payload Too Large The request entity is larger than the server is willing or able to process.
414 Request-URI Too Long The URI requested by the client is longer than the server is willing to interpret.
415 Unsupported Media Type The media format of the requested data is not supported by the server.
416 Requested Range Not Satisfiable The range specified by the Range header field in the request cannot be fulfilled.
417 Expectation Failed The server cannot meet the requirements of the Expect request-header field.
418 I'm a teapot This code was defined in 1998 as an April Fools' joke and is not expected to be implemented by actual HTTP servers.
421 Misdirected Request The request was directed at a server that is not able to produce a response.
422 Unprocessable Entity The request was well-formed but was unable to be followed due to semantic errors.
423 Locked The resource that is being accessed is locked.
424 Failed Dependency The request failed due to failure of a previous request.
426 Upgrade Required The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.
428 Precondition Required The origin server requires the request to be conditional.
429 Too Many Requests The user has sent too many requests in a given amount of time ("rate limiting").
431 Request Header Fields Too Large The server is unwilling to process the request because its header fields are too large.
444 Connection Closed Without Response An Nginx-specific error code that indicates the server has closed the connection without sending any response to the client.
451 Unavailable For Legal Reasons The user agent requested a resource that cannot legally be provided, such as a web page censored by a government.
499 Client Closed Request An Nginx-specific error code that indicates the client closed the connection before the server could send a response.
500 Internal Server Error The server has encountered a situation it does not know how to handle.
501 Not Implemented The request method is not supported by the server and cannot be handled.
502 Bad Gateway The server, while acting as a gateway or proxy, did not receive a valid response from the upstream server.
503 Service Unavailable The server is not ready to handle the request. This is often due to maintenance or overload.
504 Gateway Timeout The server, while acting as a gateway or proxy, did not get a response in time from the upstream server.
505 HTTP Version Not Supported The HTTP version used in the request is not supported by the server.
506 Variant Also Negotiates Transparent content negotiation for the request results in a circular reference.
507 Insufficient Storage The method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request.
508 Loop Detected The server detected an infinite loop while processing the request.
510 Not Extended Further extensions to the request are required for the server to fulfill it.
511 Network Authentication Required Indicates that the client needs to authenticate to gain network access.
599 Network Connect Timeout Error The connection timed out due to an overloaded server, a hardware error, or an infrastructure error.

Resources for Further Learning