HTTP Status Codes Reference
Complete searchable reference for all standard HTTP status codes — 1xx through 5xx. Filter by category, search by code number or description.
HTTP Status Codes Reference
Showing 60 of 60 codes
Server has received request headers; client should proceed.
Server is switching to a different protocol as requested.
The request succeeded.
A new resource was successfully created.
Request accepted but not yet completed.
Metadata differs from the origin server.
Request succeeded; no response body.
Request succeeded; client should reset the document view.
Partial resource returned due to range request.
Multiple status codes for multiple operations.
Members already enumerated in a previous reply.
Response is a result of instance manipulations.
Multiple representations available; user must choose.
Resource permanently moved to a new URL.
Resource temporarily at a different URL.
Redirect to a different URL with GET.
Resource unchanged; use cached version.
Must access through a specified proxy.
Temporary redirect; preserve HTTP method.
Permanent redirect; preserve HTTP method.
Server cannot process the request due to client error.
Authentication is required.
Payment required to access this resource.
Server refuses to fulfil the request.
The requested resource does not exist.
HTTP method not supported for this endpoint.
Cannot produce a response matching Accept headers.
Proxy authentication is required.
Server timed out waiting for the request.
Request conflicts with the current state.
Resource permanently deleted and will not return.
Content-Length header is required.
Precondition in headers evaluated to false.
Request body exceeds server size limit.
The request URL is too long.
Request Content-Type is not supported.
Requested byte range cannot be satisfied.
Server cannot meet the Expect header requirement.
The server is a teapot — an April Fools' joke code.
Request directed at a server unable to produce a response.
Request is well-formed but contains semantic errors.
The resource is locked (WebDAV).
Request failed because a dependency failed (WebDAV).
Server unwilling to process a potentially replayed request.
Client must upgrade to a different protocol.
Conditional request header required.
Rate limit exceeded.
Request headers are too large.
Resource unavailable due to legal restrictions.
Unexpected server-side error.
Server does not support the request method.
Invalid response from an upstream server.
Server temporarily unable to handle the request.
Upstream server did not respond in time.
HTTP version not supported.
Content negotiation circular reference.
Server has insufficient storage (WebDAV).
Infinite loop detected (WebDAV).
Further extensions required to process the request.
Client must authenticate to access the network.
What are HTTP status codes?
HTTP status codes are three-digit numbers returned by a server in response to a client request. The first digit defines the response class: 1xx informational, 2xx success, 3xx redirection, 4xx client errors, and 5xx server errors. Every HTTP response must include a status code.
Why do status codes matter?
Status codes are the primary way web servers communicate the outcome of a request. Correct status codes improve SEO (e.g. 301 vs 302 for redirects), enable proper error handling in clients, and are critical for REST API design. Using the wrong code can cause caching issues, break client logic, or mislead search engine crawlers.
How to use
- Type a code number or keyword in the search box to filter instantly.
- Click a category tab to narrow results to a specific class.
- Click any row to expand the full description, usage notes, and common causes.
- Use the Copy button on any row to copy the numeric code to your clipboard.
Questions Fréquemment Posées
- What is the difference between 301 and 302?
- A 301 Moved Permanently tells clients and search engines that a resource has moved to a new URL forever — clients should update bookmarks and search engines transfer link equity. A 302 Found is a temporary redirect; clients should keep using the original URL for future requests.
- When should I use 400 vs 422?
- Use 400 Bad Request for malformed syntax or missing required fields that make the request unparseable. Use 422 Unprocessable Content (formerly 422 Unprocessable Entity) when the syntax is valid but the contained instructions cannot be followed — for example, a JSON body that is well-formed but fails business validation rules.
- What does a 503 mean and how is it different from 500?
- 500 Internal Server Error means the server encountered an unexpected condition — a generic catch-all for unhandled exceptions. 503 Service Unavailable means the server is temporarily unable to handle the request, typically due to maintenance or being overloaded. 503 implies a temporary state and is often accompanied by a Retry-After header.
- Should a REST API return 200 or 204 for a DELETE?
- 204 No Content is the preferred response for a successful DELETE when there is no body to return. Use 200 OK if you want to return a body (e.g. the deleted resource or a confirmation message). Both are correct; 204 is more widely used in modern REST APIs.