HTTP Status Codes — Complete List by Class
Every status code your server or API is likely to return, grouped by class. Open a code for its meaning, typical causes, fixes for site owners and developers, SEO impact and an example response.
An HTTP status code is the three-digit number at the start of every HTTP response. The first digit sets the class; the full meaning of each code is defined in RFC 9110 (HTTP Semantics) and a few companion RFCs. Want to search or filter instead? Use the HTTP Status Codes tool, or read the complete developer guide.
1xx Informational
Interim responses: the request was received and the process continues. A final status code always follows.
- 100ContinueThe server received the request headers and the client should proceed to send the body.
- 101Switching ProtocolsThe server agrees to switch protocols as requested by the client in an Upgrade header.
- 102ProcessingThe server has received and is processing the request, but no response is available yet (WebDAV).
- 103Early HintsUsed to return some response headers before the final response, so the client can start preloading.
2xx Success
The request was received, understood and accepted.
- 200OKThe request succeeded. The meaning depends on the method (GET returns the resource, POST the result).
- 201CreatedThe request succeeded and a new resource was created as a result.
- 202AcceptedThe request has been accepted for processing, but the processing has not been completed.
- 204No ContentThe server successfully processed the request and is not returning any content.
- 206Partial ContentThe server is delivering only part of the resource due to a Range header sent by the client.
3xx Redirection
Further action is needed to complete the request, usually following a Location header.
- 301Moved PermanentlyThe resource has a new permanent URL; clients and search engines should update their links.
- 302FoundThe resource resides temporarily under a different URL; keep using the original URL for future requests.
- 303See OtherThe response to the request can be found under another URL using a GET method.
- 304Not ModifiedThe resource has not changed since the version specified by the request headers; use the cached copy.
- 307Temporary RedirectThe request should be repeated at another URL using the same method and body.
- 308Permanent RedirectThe resource is now permanently at another URL; repeat the request there with the same method and body.
4xx Client Error
The request contains an error or cannot be fulfilled; the problem is on the client side.
- 400Bad RequestThe server cannot process the request due to a client error, such as malformed syntax.
- 401UnauthorizedAuthentication is required and has failed or not been provided.
- 402Payment RequiredReserved for future use; sometimes used by APIs to signal a payment or quota requirement.
- 403ForbiddenThe server understood the request but refuses to authorize it, regardless of credentials.
- 404Not FoundThe server cannot find the requested resource; the URL is not recognized.
- 405Method Not AllowedThe request method is known by the server but is not supported by the target resource.
- 406Not AcceptableThe resource cannot produce a response matching the Accept headers sent in the request.
- 408Request TimeoutThe server timed out waiting for the request; the client did not produce one in time.
- 409ConflictThe request conflicts with the current state of the target resource, such as an edit conflict.
- 410GoneThe resource is permanently gone and no forwarding address is known; remove any links to it.
- 413Payload Too LargeThe request body is larger than the server is willing or able to process.
- 415Unsupported Media TypeThe request body is in a format not supported by the server for this resource.
- 418I’m a teapotAn April Fools’ joke code from the Hyper Text Coffee Pot Control Protocol; reserved and unused in HTTP.
- 422Unprocessable EntityThe request was well-formed but could not be followed due to semantic errors (WebDAV).
- 429Too Many RequestsThe client has sent too many requests in a given amount of time (rate limiting).
- 451Unavailable For Legal ReasonsAccess to the resource is denied because of a legal demand, such as a court order or government block.
5xx Server Error
The server failed to fulfil an apparently valid request.
- 500Internal Server ErrorA generic error message; the server encountered an unexpected condition.
- 501Not ImplementedThe server does not support the functionality required to fulfil the request.
- 502Bad GatewayThe server, acting as a gateway or proxy, received an invalid response from the upstream server.
- 503Service UnavailableThe server is not ready to handle the request, usually due to overload or maintenance.
- 504Gateway TimeoutThe server, acting as a gateway or proxy, did not get a response in time from the upstream server.
- 505HTTP Version Not SupportedThe server does not support the HTTP protocol version used in the request.
Frequently asked questions
What are the five classes of HTTP status codes?
1xx informational, 2xx success, 3xx redirection, 4xx client error and 5xx server error. The first digit defines the class (RFC 9110 §15).
Which redirect should I use for SEO?
Use 301 or 308 for permanent moves, and 302 or 307 only when the move is temporary.
What status should a page return during maintenance?
503 Service Unavailable, ideally with a Retry-After header, so search engines know the downtime is temporary.
What happens if a client gets a code it does not know?
RFC 9110 says a client must treat an unrecognised code as the x00 code of its class — for example an unknown 4xx is handled like 400.