HTTP Status Codes
Complete HTTP status code reference guide with detailed explanations, use cases, and examples for all standard status codes. Helps developers quickly look up and understand HTTP response codes.
100
Continue
Continue
The server has received the request headers, and the client should proceed to send the request body. Used when the client needs to send a large amount of data.
101
Switching Protocols
Switching Protocols
The server understands and is willing to comply with the client's request to switch to a different protocol via the Upgrade header. Commonly used for WebSocket connections.
102
Processing
Processing
The server has received and is processing the request, but no response is available yet. Used to prevent the client from timing out.
103
Early Hints
Early Hints
Used with the Link header to allow the user agent to start preloading resources while the server prepares a response.
200
OK
OK
The request has succeeded. The information returned with the response is dependent on the method used in the request. This is the most common HTTP status code.
201
Created
Created
The request has been fulfilled and resulted in a new resource being created. Typically returned after POST requests or some PUT requests.
202
Accepted
Accepted
The request has been accepted for processing, but the processing has not been completed. Used for asynchronous processing.
203
Non-Authoritative Information
Non-Authoritative Information
The server is a transforming proxy that received a 200 OK from its origin, but is returning a modified version of the origin's response.
204
No Content
No Content
The server successfully processed the request, but is not returning any content. Often used for DELETE or PUT request responses.
205
Reset Content
Reset Content
The server successfully processed the request, but is not returning any content. Unlike 204, this response requires that the requester reset the document view.
206
Partial Content
Partial Content
The server is delivering only part of the resource due to a range header sent by the client. Used for resumable downloads or streaming.
300
Multiple Choices
Multiple Choices
The requested resource has multiple representations, each with different locations. The user or browser can select a preferred one.
301
Moved Permanently
Moved Permanently
The requested resource has been permanently moved to a new location. Search engines will update their indexes. Use the new URI for future requests.
302
Found
Found
The requested resource temporarily resides under a different URI. Since the redirection is temporary, clients should continue to use the original URI.
303
See Other
See Other
The response to the request can be found under a different URI and should be retrieved using a GET method.
304
Not Modified
Not Modified
The resource has not been modified. The client can use the cached version. Used for conditional GET requests to reduce data transfer.
307
Temporary Redirect
Temporary Redirect
The requested resource temporarily resides under a different URI. Unlike 302, the request method must not change when reissuing the original request.
308
Permanent Redirect
Permanent Redirect
The resource has been permanently moved to a new location. Unlike 301, the request method must not change when reissuing the original request.
400
Bad Request
Bad Request
The server cannot understand the request due to malformed syntax. The client should not repeat the request without modifications. Often caused by syntax or parameter errors.
401
Unauthorized
Unauthorized
The request requires user authentication. The client must provide valid authentication credentials to access the resource.
402
Payment Required
Payment Required
This code is reserved for future use. The original intention was for digital payment systems.
403
Forbidden
Forbidden
The server understood the request but refuses to authorize it. Unlike 401, authentication will not help. Often caused by insufficient permissions.
404
Not Found
Not Found
The requested resource does not exist on the server. This is one of the most common error codes. The URL may be misspelled or the resource has been deleted.
405
Method Not Allowed
Method Not Allowed
The HTTP method used in the request is not allowed for the resource. For example, using POST on a read-only resource.
406
Not Acceptable
Not Acceptable
The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request.
407
Proxy Authentication Required
Proxy Authentication Required
The client must first authenticate itself with the proxy server.
408
Request Timeout
Request Timeout
The server timed out waiting for the request from the client. The client may repeat the request at any time.
409
Conflict
Conflict
The request could not be completed due to a conflict with the current state of the resource. Often occurs with concurrent update conflicts.
410
Gone
Gone
The requested resource is no longer available at the server and no forwarding address is known. Unlike 404, this indicates the condition is permanent.
411
Length Required
Length Required
The server refuses to accept the request without a defined Content-Length header.
412
Precondition Failed
Precondition Failed
One or more conditions in the request header fields evaluated to false when tested on the server.
413
Payload Too Large
Payload Too Large
The server refuses to process the request because the request payload is larger than the server is willing or able to process.
414
URI Too Long
URI Too Long
The URI provided was too long for the server to process.
415
Unsupported Media Type
Unsupported Media Type
The request entity has a media type which the server or resource does not support.
416
Range Not Satisfiable
Range Not Satisfiable
The client has asked for a portion of the file that the server cannot supply. Common when resuming downloads and the range exceeds file size.
417
Expectation Failed
Expectation Failed
The server cannot meet the requirements of the Expect request-header field.
418
I'm a teapot
I'm a teapot
This is an April Fools' joke from RFC 2324 in 1998. The server refuses to brew coffee because it is, permanently, a teapot.
421
Misdirected Request
Misdirected Request
The request was directed at a server that is not able to produce a response.
422
Unprocessable Entity
Unprocessable Entity
The request was well-formed but was unable to be followed due to semantic errors. Often used for failed form validation.
423
Locked
Locked
The resource being accessed is locked. Used in WebDAV.
424
Failed Dependency
Failed Dependency
The request failed due to failure of a previous request.
425
Too Early
Too Early
The server is unwilling to risk processing a request that might be replayed in Early Data.
426
Upgrade Required
Upgrade Required
The server refuses to perform the request using the current protocol but might be willing after the client upgrades to a different protocol.
428
Precondition Required
Precondition Required
The server requires the request to be conditional. Used to prevent the 'lost update' problem.
429
Too Many Requests
Too Many Requests
The user has sent too many requests in a given amount of time. Used for rate limiting or preventing abuse.
431
Request Header Fields Too Large
Request Header Fields Too Large
The server refuses to process the request because the request header fields are too large.
451
Unavailable For Legal Reasons
Unavailable For Legal Reasons
The resource is unavailable for legal reasons. Used for content that is blocked due to copyright, censorship, etc.
500
Internal Server Error
Internal Server Error
The server encountered an unexpected condition that prevented it from fulfilling the request. This is the most common server-side error.
501
Not Implemented
Not Implemented
The server does not support the functionality required to fulfill the request. For example, the server does not recognize the request method.
502
Bad Gateway
Bad Gateway
The server, while acting as a gateway or proxy, received an invalid response from the upstream server.
503
Service Unavailable
Service Unavailable
The server is temporarily unable to handle the request. Usually due to server overload or maintenance. This is usually a temporary state.
504
Gateway Timeout
Gateway Timeout
The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server.
505
HTTP Version Not Supported
HTTP Version Not Supported
The server does not support the HTTP protocol version used in the request.
506
Variant Also Negotiates
Variant Also Negotiates
The server has an internal configuration error: transparent content negotiation results in a circular reference.
507
Insufficient Storage
Insufficient Storage
The server is unable to store the representation needed to complete the request. Used in WebDAV.
508
Loop Detected
Loop Detected
The server detected an infinite loop while processing the request.
510
Not Extended
Not Extended
Further extensions to the request are required for the server to fulfill it.
511
Network Authentication Required
Network Authentication Required
The client needs to authenticate to gain network access. Often used for public WiFi networks that require login.
What are HTTP Status Codes?
HTTP status codes are standard response codes given by web servers on the internet. Each code is a three-digit number, where the first digit defines the response category. Understanding these codes is crucial for web development, API debugging, and troubleshooting.
Status Code Categories
- 1xx (Informational) - Indicates that the request has been received and the process is continuing. These are provisional responses.
- 2xx (Success) - Indicates that the request was successfully received, understood, and accepted by the server.
- 3xx (Redirection) - Indicates that further action needs to be taken by the client to complete the request. Usually used for URL redirection.
- 4xx (Client Error) - Indicates that the client seems to have made an error. For example, syntax error, invalid request, or page not found.
- 5xx (Server Error) - Indicates that the server failed to fulfill a valid request. These codes represent server-side errors or exceptions.