Web reference
HTTP Status Codes
Search HTTP response codes by number or keyword, expand practical explanations, validate categories, and copy descriptions for docs or debugging notes.
Search state, expanded details, and clipboard actions stay in the browser.
1xx Informational
The server has received the request headers and the client should proceed to send the request body.
The server is switching to a different protocol as requested by the client via the Upgrade header.
The server has received the request and is processing it, but no response is available yet.
Used to return some response headers before the final response, allowing the browser to preload resources.
2xx Success
The request has succeeded. The meaning depends on the HTTP method used.
The request has been fulfilled and a new resource has been created.
The request has been accepted for processing, but the processing is not yet complete.
The returned metadata is not exactly the same as available from the origin server. A modified version from a proxy.
The server successfully processed the request but is not returning a response body.
The server processed the request and the client should reset the document view.
The server is delivering only part of the resource due to a Range header sent by the client.
Conveys information about multiple resources where multiple status codes might be appropriate.
The members of a DAV binding have already been enumerated in a previous reply and are not included again.
The server has fulfilled a GET request and the response is a representation of the result of instance-manipulations.
3xx Redirection
The request has more than one possible response. The client should choose one.
The resource has been permanently moved to a new URL. All future requests should use the new URL.
The resource temporarily resides at a different URL. The client should continue to use the original URL for future requests.
The response to the request can be found at another URL using a GET method.
The resource has not been modified since the last request. The client can use its cached version.
The resource temporarily resides at a different URL. The request method must not change.
The resource has permanently moved. The request method must not change.
4xx Client Error
The server cannot process the request due to malformed syntax, invalid parameters, or missing fields.
The request requires user authentication. The client must provide valid credentials.
Reserved for future use. Originally intended for digital payment systems.
The server understood the request but refuses to authorize it. Authentication will not help.
The server cannot find the requested resource. The URL may be wrong or the resource may have been deleted.
The HTTP method used is not supported for the requested resource.
The server cannot produce a response matching the Accept headers sent by the client.
The client must authenticate with the proxy before the request can proceed.
The server timed out waiting for the request from the client.
The request conflicts with the current state of the server resource.
The resource is no longer available and will not be available again. Unlike 404, this is permanent.
The server requires a Content-Length header in the request.
One or more conditions in the request headers evaluated to false on the server.
The request body is larger than the server is willing or able to process.
The request URL is longer than the server is willing to interpret.
The media type of the request body is not supported by the server.
The range specified in the Range header cannot be fulfilled. The resource may be smaller than requested.
The server refuses to brew coffee because it is a teapot. An April Fools joke from RFC 2324.
The server understands the content type and syntax but cannot process the contained instructions.
The server is unwilling to risk processing a request that might be replayed.
The server refuses the request using the current protocol and requires the client to upgrade.
The server requires the request to be conditional to prevent lost update problems.
The user has sent too many requests in a given time period (rate limiting).
The server refuses the request because the header fields are too large.
The resource is unavailable due to legal demands such as censorship or court orders.
5xx Server Error
The server encountered an unexpected condition that prevented it from fulfilling the request.
The server does not support the functionality required to fulfill the request.
The server acting as a gateway received an invalid response from the upstream server.
The server is temporarily unable to handle the request, usually due to maintenance or overload.
The server acting as a gateway did not receive a timely response from the upstream server.
The server does not support the HTTP protocol version used in the request.
Transparent content negotiation for the request results in a circular reference.
The server is unable to store the representation needed to complete the request.
The server detected an infinite loop while processing a request with Depth: infinity.
Further extensions to the request are required for the server to fulfill it.
The client needs to authenticate to gain network access, typically for captive portals.
Grouped by class
Browse informational, success, redirect, client error, and server error responses.
Practical examples
Each expanded code includes when it appears and a concrete debugging example.
Copy snippets
Copy a concise status description into comments, runbooks, or API documentation.
HTTP Debugging Notes
Client vs server
4xx usually points to request, auth, or permission issues. 5xx usually points to upstream or server-side failure.
Redirect methods
Use 307 or 308 when the client must preserve the original HTTP method across a redirect.
FAQ
What is the difference between 401 and 403?
401 means authentication is required or missing. 403 means the client is known, but access is not allowed for that resource.
Which status codes are most common in APIs?
200, 201, 204, 301, 302, 400, 401, 403, 404, 409, 422, 429, 500, 502, and 503 are common during API debugging.
Is search data uploaded?
No. Search, filtering, validation, expand/collapse, and copy actions run locally in your browser.