HTTP Status Codes Cheatsheet

A complete reference of all standard HTTP response status codes. Each code indicates whether a specific HTTP request has been successfully completed, redirected, or resulted in an error.

1xx Informational

The request was received and the process is continuing.

CodeNameDescription
100ContinueThe server has received the request headers. The client should proceed to send the request body.
101Switching ProtocolsThe server is switching protocols as requested by the client (e.g., upgrading to WebSocket).
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 HTTP message. Allows preloading resources.

2xx Success

The request was successfully received, understood, and accepted.

CodeNameDescription
200OKThe request succeeded. The meaning depends on the HTTP method used.
201CreatedThe request succeeded and a new resource was created. Typically used after POST or PUT requests.
202AcceptedThe request has been accepted for processing, but processing is not yet complete.
203Non-Authoritative InformationThe returned metadata is not exactly the same as available from the origin server.
204No ContentThe server successfully processed the request but is not returning any content.
205Reset ContentThe server successfully processed the request and asks the client to reset the document view.
206Partial ContentThe server is delivering only part of the resource due to a range header sent by the client.
207Multi-StatusConveys information about multiple resources where multiple status codes might be appropriate (WebDAV).
208Already ReportedMembers of a DAV binding have already been enumerated and are not included again (WebDAV).
226IM UsedThe server has fulfilled a GET request and the response is a representation of one or more instance-manipulations.

3xx Redirection

Further action must be taken to complete the request.

CodeNameDescription
300Multiple ChoicesThe request has more than one possible response. The user or user agent should choose one.
301Moved PermanentlyThe URL of the requested resource has been changed permanently. The new URL is given in the response.
302FoundThe URI of the requested resource has been changed temporarily. The client should use the same method for future requests.
303See OtherThe server sent this response to direct the client to get the requested resource at another URI with a GET request.
304Not ModifiedUsed for caching. The response has not been modified, so the client can continue to use the cached version.
305Use ProxyThe requested resource must be accessed through the proxy given in the Location header. Deprecated.
307Temporary RedirectThe server sends this response to direct the client to get the requested resource at another URI with the same method.
308Permanent RedirectThe resource is now permanently located at another URI. The same HTTP method must be used as in the prior request.

4xx Client Error

The request contains bad syntax or cannot be fulfilled by the server.

CodeNameDescription
400Bad RequestThe server cannot process the request due to malformed syntax, invalid framing, or deceptive routing.
401UnauthorizedThe client must authenticate itself to get the requested response. Similar to 403 but authentication is possible.
402Payment RequiredReserved for future use. Originally created for digital payment systems.
403ForbiddenThe client does not have access rights to the content. Unlike 401, the server knows the client's identity.
404Not FoundThe server cannot find the requested resource. The URL is not recognized or the endpoint is valid but the resource does not exist.
405Method Not AllowedThe request method is known by the server but not supported by the target resource (e.g., DELETE on a read-only resource).
406Not AcceptableThe server cannot produce a response matching the list of acceptable values defined in the request's Accept headers.
407Proxy Authentication RequiredAuthentication is needed with the proxy before the request can be fulfilled.
408Request TimeoutThe server timed out waiting for the request. The client did not produce a request within the expected time.
409ConflictThe request conflicts with the current state of the server, such as an edit conflict in a resource.
410GoneThe content has been permanently deleted from the server with no forwarding address.
411Length RequiredThe server rejected the request because the Content-Length header field is not defined.
412Precondition FailedThe server does not meet one of the preconditions indicated in the request headers.
413Content Too LargeThe request entity is larger than limits defined by server. The server might close the connection.
414URI Too LongThe URI requested by the client is longer than the server is willing to interpret.
415Unsupported Media TypeThe media format of the requested data is not supported by the server.
416Range Not SatisfiableThe range specified by the Range header field cannot be fulfilled. The range may be outside the size of the target resource.
417Expectation FailedThe expectation indicated by the Expect request-header field cannot be met by the server.
418I'm a TeapotThe server refuses to brew coffee because it is, permanently, a teapot. Defined in RFC 2324 as an April Fools' joke.
421Misdirected RequestThe request was directed at a server that is not able to produce a response.
422Unprocessable ContentThe request was well-formed but the server was unable to process the contained instructions.
423LockedThe resource that is being accessed is locked (WebDAV).
424Failed DependencyThe request failed because it depended on another request that failed (WebDAV).
425Too EarlyThe server is unwilling to risk processing a request that might be replayed.
426Upgrade RequiredThe server refuses to perform the request using the current protocol but might after the client upgrades.
428Precondition RequiredThe server requires the request to be conditional to prevent lost update problems.
429Too Many RequestsThe user has sent too many requests in a given amount of time (rate limiting).
431Request Header Fields Too LargeThe server is unwilling to process the request because its header fields are too large.
451Unavailable For Legal ReasonsThe user requested a resource that is not available due to legal reasons, such as censorship or government-mandated blocks.

5xx Server Error

The server failed to fulfill a valid request.

CodeNameDescription
500Internal Server ErrorThe server has encountered a situation it does not know how to handle.
501Not ImplementedThe request method is not supported by the server and cannot be handled.
502Bad GatewayThe server, while acting as a gateway or proxy, received an invalid response from the upstream server.
503Service UnavailableThe server is not ready to handle the request. Common causes are maintenance or overloading.
504Gateway TimeoutThe server is acting as a gateway and cannot get a response from the upstream server in time.
505HTTP Version Not SupportedThe HTTP version used in the request is not supported by the server.
506Variant Also NegotiatesThe server has an internal configuration error: transparent content negotiation results in a circular reference.
507Insufficient StorageThe server is unable to store the representation needed to complete the request (WebDAV).
508Loop DetectedThe server detected an infinite loop while processing the request (WebDAV).
510Not ExtendedFurther extensions to the request are required for the server to fulfill it.
511Network Authentication RequiredThe client needs to authenticate to gain network access, often seen with captive portals.

Related Resources