Info

HTTP Status Codes

The standard HTTP response status codes, grouped by class, with what each one means.

1xx Informational

CodeReason phraseMeaning
100ContinueThe initial part of a request has been received and the client should continue sending the rest.
101Switching ProtocolsThe server agrees to switch protocols as requested by the client (e.g. to WebSocket).
102ProcessingThe server has accepted the request but processing is not yet complete.
103Early HintsLets the client start preloading resources while the server prepares the final response.

2xx Success

CodeReason phraseMeaning
200OKThe request succeeded.
201CreatedThe request succeeded and a new resource was created as a result.
202AcceptedThe request has been accepted for processing, but processing is not finished.
203Non-Authoritative InformationThe response was returned by a proxy and may differ from the origin server’s response.
204No ContentThe request succeeded but there is no content to send in the response body.
205Reset ContentTells the client to reset the document that sent the request.
206Partial ContentReturns only part of a resource, as requested via a Range header.

3xx Redirection

CodeReason phraseMeaning
300Multiple ChoicesThe request has more than one possible response; the client should pick one.
301Moved PermanentlyThe resource has permanently moved to a new URL given in the response.
302FoundThe resource temporarily resides at a different URL.
303See OtherThe response to the request can be found at another URL using a GET request.
304Not ModifiedThe cached version of the resource is still valid; no need to retransmit it.
307Temporary RedirectLike 302, but guarantees the method and body of the original request are repeated.
308Permanent RedirectLike 301, but guarantees the method and body of the original request are repeated.

4xx Client Error

CodeReason phraseMeaning
400Bad RequestThe server cannot process the request due to a client-side error (malformed syntax, etc).
401UnauthorizedAuthentication is required and has failed or not yet been provided.
403ForbiddenThe client is authenticated but does not have permission to access the resource.
404Not FoundThe server can’t find the requested resource.
405Method Not AllowedThe request method is not supported for the requested resource.
406Not AcceptableNo response matches the list of acceptable formats given by the client.
408Request TimeoutThe server timed out waiting for the request from the client.
409ConflictThe request conflicts with the current state of the target resource.
410GoneThe requested resource is permanently gone and no forwarding address is known.
411Length RequiredThe server refuses the request because a required Content-Length header is missing.
413Payload Too LargeThe request body is larger than the server is willing or able to process.
414URI Too LongThe requested URL is longer than the server is willing to interpret.
415Unsupported Media TypeThe request body’s media format isn’t supported by the server.
418I’m a TeapotAn April Fools’ joke from RFC 2324 — the server refuses to brew coffee because it is a teapot.
422Unprocessable ContentThe request is well-formed but contains semantic errors the server can’t process.
425Too EarlyThe server is unwilling to process a request that might be replayed.
429Too Many RequestsThe client has sent too many requests in a given time period (rate limiting).
431Request Header Fields Too LargeThe request’s header fields are too large for the server to process.
451Unavailable For Legal ReasonsThe resource is withheld due to a legal demand, such as government censorship.

5xx Server Error

CodeReason phraseMeaning
500Internal Server ErrorThe server encountered an unexpected condition and could not complete the request.
501Not ImplementedThe server doesn’t support the functionality required to fulfill the request.
502Bad GatewayA server acting as a gateway received an invalid response from an upstream server.
503Service UnavailableThe server isn’t ready to handle the request, often due to overload or maintenance.
504Gateway TimeoutA gateway server did not get a response in time from an upstream server.
505HTTP Version Not SupportedThe HTTP version used in the request isn’t supported by the server.
507Insufficient StorageThe server can’t store the representation needed to complete the request.
508Loop DetectedThe server detected an infinite loop while processing the request.
511Network Authentication RequiredThe client needs to authenticate to gain network access (e.g. a captive portal).