{ }HttpStatus.com

HTTP status codes

The complete list of standard HTTP response status codes as defined by RFC 9110 and its extensions, grouped by class. Every code links to a full explanation with common causes, client- and server-side fixes, an example exchange and a live URL that returns that exact status.

1xxInformational

The request was received and processing continues.

CodeNameSummary
100ContinueInterim response telling the client it may continue sending the request body after the server has accepted the initial headers.
101Switching ProtocolsInterim response confirming the server is switching application protocols in response to an Upgrade header from the client.
102ProcessingInterim WebDAV response telling the client the server is still working on a long-running request and has not timed out.
103Early HintsInterim response that lets the server send preload or preconnect hints to the client before the final response is ready.

2xxSuccess

The request was received, understood and accepted.

CodeNameSummary
200OKThe request succeeded and the response body, if any, contains the requested representation or the result of the action.
201CreatedThe request succeeded and resulted in a new resource being created, typically referenced by a Location header.
202AcceptedThe request has been accepted for processing, but that processing has not completed and may not have started yet.
203Non-Authoritative InformationThe request succeeded but the returned metadata came from a local or third-party copy rather than the origin server.
204No ContentThe request succeeded but there is no response body, and the client should keep displaying its current view.
205Reset ContentThe request succeeded and the client should reset the document view that originated the request, such as clearing a form.
206Partial ContentThe server is delivering only part of the resource in response to a Range header, typically for large file or media downloads.
207Multi-StatusThe response reports the individual results of multiple independent operations, each with its own status, inside one WebDAV response body.
208Already ReportedSuppresses repeated internal members inside a WebDAV Multi-Status response that has already been listed once earlier in the same binding tree.
226IM UsedThe server fulfilled a GET request for a delta or instance-manipulated representation, applying the client's requested transformation.

3xxRedirection

Further action is needed to complete the request.

CodeNameSummary
300Multiple ChoicesThe requested resource has several representations, and the server cannot pick one automatically.
301Moved PermanentlyThe resource has permanently moved to a new URL, and clients should use the new URL going forward.
302FoundThe resource temporarily resides at a different URL; clients should keep requesting the original URL in the future.
303See OtherThe response to the request can be found under a different URL and should be retrieved with a GET.
304Not ModifiedThe cached version of the resource is still valid, so the server tells the client to keep using it.
305Use ProxydeprecatedDeprecated: the requested resource must be accessed through the proxy given by the Location header.
306(Unused)deprecatedReserved: this status code is no longer used and is reserved for historical reasons.
307Temporary RedirectThe resource temporarily resides at a different URL, and the request method and body must be repeated exactly.
308Permanent RedirectThe resource has permanently moved, and the request method and body must be repeated exactly at the new URL.

4xxClient Error

The request contains bad syntax or cannot be fulfilled.

CodeNameSummary
400Bad RequestThe server cannot process the request because of a client-side error such as malformed syntax, invalid framing, or corrupted request data.
401UnauthorizedThe request lacks valid authentication credentials for the target resource; the server names an accepted scheme via WWW-Authenticate.
402Payment RequiredReserved for future use; increasingly reused by APIs to signal billing failures like an expired subscription or exhausted quota.
403ForbiddenThe server understood the request and identified the client but refuses to authorize access to the resource.
404Not FoundThe server cannot find a current representation of the requested resource, and does not say whether the absence is temporary.
405Method Not AllowedThe target resource exists but does not support the HTTP method used in the request; the response must list the allowed ones.
406Not AcceptableThe server cannot produce a response matching the Accept, Accept-Language, or Accept-Charset constraints the client sent.
407Proxy Authentication RequiredLike 401, but the client must first authenticate with an intermediary proxy before the request can be forwarded.
408Request TimeoutThe server timed out waiting for the client to send a complete request within the time it was willing to wait.
409ConflictThe request conflicts with the current state of the target resource, such as a concurrent edit or a duplicate unique value.
410GoneThe resource used to exist but has been deliberately and permanently removed, with no forwarding address known.
411Length RequiredThe server refuses the request because the mandatory Content-Length header is missing and chunked encoding wasn't used instead.
412Precondition FailedA conditional header such as If-Match or If-Unmodified-Since evaluated to false against the resource's current state.
413Content Too LargeThe request body exceeds the size limit the server is willing or able to process for this resource.
414URI Too LongThe request target is longer than the server is willing to interpret, often from excessive or misused query parameters.
415Unsupported Media TypeThe server refuses the request because the payload's Content-Type or encoding is not supported by the target endpoint.
416Range Not SatisfiableThe server cannot supply the requested byte range because it falls outside the resource's current size.
417Expectation FailedThe server cannot meet the requirements stated in the request's Expect header, most often Expect: 100-continue.
418I'm a TeapotA joke status code from an April Fools' RFC, indicating the server refuses to brew coffee because it is a teapot.
421Misdirected RequestThe request was sent to a server that is not configured to produce a response for the combination of scheme and authority in the request URI.
422Unprocessable ContentThe request is syntactically valid and understood, but the server cannot process the contained instructions due to semantic errors.
423LockedThe source or destination resource of a WebDAV method is locked, so the request cannot proceed.
424Failed DependencyA WebDAV method could not be performed because an earlier, required action in the same request failed.
425Too EarlyThe server is unwilling to process a request that might be a replay, typically one sent as TLS 1.3 early data.
426Upgrade RequiredThe server refuses to continue on the current protocol and requires the client to switch to a different one to proceed.
428Precondition RequiredThe origin server requires the request to be conditional, typically to prevent a lost update from concurrent edits.
429Too Many RequestsThe client has sent too many requests in a given time window and is being rate limited.
431Request Header Fields Too LargeThe server refuses to process the request because its HTTP header fields, individually or combined, are too large.
451Unavailable For Legal ReasonsThe server is denying access to the resource as a result of a legal demand, such as a government-ordered content block.

5xxServer Error

The server failed to fulfil an apparently valid request.

CodeNameSummary
500Internal Server ErrorThe server encountered an unexpected condition that prevented it from fulfilling the request, with no more specific error available.
501Not ImplementedThe server does not support the functionality required to fulfill the request, typically because the HTTP method is unrecognized.
502Bad GatewayA server acting as a gateway or proxy received an invalid response from the upstream server it needed to fulfill the request.
503Service UnavailableThe server is temporarily unable to handle the request due to overload or maintenance, and the condition is expected to be temporary.
504Gateway TimeoutA server acting as a gateway or proxy did not receive a timely response from the upstream server it needed to complete the request.
505HTTP Version Not SupportedThe server refuses to support the HTTP protocol version that was used in the request message.
506Variant Also NegotiatesThe server has an internal configuration error: the resource chosen via content negotiation is itself set up to negotiate, creating a loop.
507Insufficient StorageThe server cannot complete the request because it lacks sufficient storage space to process and store the representation successfully.
508Loop DetectedThe server terminated an operation because it detected an infinite loop while processing a request with recursive dependencies.
510Not ExtendedFurther extensions to the request are required for the server to fulfill it, and the response describes which extensions are needed.
511Network Authentication RequiredThe client must authenticate to gain network access, typically shown by a captive portal before internet access is granted.

Check a real response