HTTP Status Codes

All standard HTTP response codes 1xx–5xx with descriptions, per RFC 9110.

CodeNameDescriptionTagsRFC
100ContinueThe server has received the request headers and the client should proceed to send the request body.RFC 9110
101Switching ProtocolsThe requester has asked the server to switch protocols and the server has agreed to do so.RFC 9110
102ProcessingThe server has received and is processing the request, but no response is available yet. Prevents client timeout.RFC 2518
103Early HintsUsed to return some response headers before the final HTTP message, allowing the browser to start preloading resources.RFC 8297
110Response is StaleWarn code indicating the response provided is stale (cache-specific, used in Warning header).DeprecatedRFC 9111
111Revalidation FailedWarn code indicating the cache could not revalidate the response.DeprecatedRFC 9111
199Miscellaneous WarningArbitrary informational warning with unspecified meaning. Used in the Warning header.DeprecatedRFC 9111
200OKStandard response for successful HTTP requests. The actual response depends on the request method used.CacheableRFC 9110
201CreatedThe request has been fulfilled, resulting in the creation of a new resource.RFC 9110
202AcceptedThe request has been accepted for processing, but the processing has not been completed.RFC 9110
203Non-Authoritative InformationThe server is a transforming proxy that received a 200 OK from its origin, but is returning a modified version of the response.CacheableRFC 9110
204No ContentThe server successfully processed the request, and is not returning any content.RFC 9110
205Reset ContentThe server successfully processed the request, asks that the requester reset its document view, and is not returning any content.RFC 9110
206Partial ContentThe server is delivering only part of the resource due to a range header sent by the client (byte serving).CacheableRFC 9110
207Multi-StatusThe message body that follows is an XML message and can contain a number of separate response codes.RFC 4918
208Already ReportedThe members of a DAV binding have already been enumerated in a preceding part of the multistatus response.RFC 5842
226IM UsedThe server has fulfilled a request for the resource, and the response is a representation of one or more instance-manipulations.RFC 3229
300Multiple ChoicesIndicates multiple options for the resource from which the client may choose.RedirectRFC 9110
301Moved PermanentlyThis and all future requests should be directed to the given URI.RedirectCacheableRFC 9110
302FoundTells the client to look at another URL. The HTTP/1.0 specification described this as "Moved Temporarily".RedirectRFC 9110
303See OtherThe response to the request can be found under another URI using the GET method.RedirectRFC 9110
304Not ModifiedIndicates the resource has not been modified since the version specified by the request headers.CacheableRFC 9110
305Use ProxyThe requested resource is available only through a proxy. Deprecated due to security concerns.RedirectDeprecatedRFC 9110
306Switch ProxyNo longer used. Originally meant subsequent requests should use the specified proxy.DeprecatedRFC 9110
307Temporary RedirectThe request should be repeated with another URI; however, future requests should still use the original URI.RedirectRFC 9110
308Permanent RedirectThe request and all future requests should be repeated using another URI.RedirectCacheableRFC 9110
400Bad RequestThe server cannot or will not process the request due to an apparent client error such as malformed request syntax.RFC 9110
401UnauthorizedAuthentication is required and has failed or has not yet been provided.RFC 9110
402Payment RequiredReserved for future use. The original intention was to use it for digital payment systems.RFC 9110
403ForbiddenThe request contained valid data and was understood by the server, but the server is refusing action.RFC 9110
404Not FoundThe requested resource could not be found but may be available in the future.CacheableRFC 9110
405Method Not AllowedA request method is not supported for the requested resource; for example, a GET request on a form that requires POST data.RFC 9110
406Not AcceptableThe requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request.RFC 9110
407Proxy Auth RequiredThe client must first authenticate itself with the proxy.RFC 9110
408Request TimeoutThe server timed out waiting for the request. The client did not produce a request within the time the server was prepared to wait.RFC 9110
409ConflictIndicates the request could not be processed because of a conflict in the current state of the resource.RFC 9110
410GoneIndicates the resource requested was previously in use but is no longer available and will not be available again.CacheableRFC 9110
411Length RequiredThe request did not specify the length of its content, which is required by the requested resource.RFC 9110
412Precondition FailedThe server does not meet one of the preconditions that the requester put on the request header fields.RFC 9110
413Content Too LargeThe request is larger than the server is willing or able to process.RFC 9110
414URI Too LongThe URI provided was too long for the server to process.CacheableRFC 9110
415Unsupported Media TypeThe request entity has a media type which the server or resource does not support.RFC 9110
416Range Not SatisfiableThe client has asked for a portion of the file via byte serving, but the server cannot supply that portion.RFC 9110
417Expectation FailedThe server cannot meet the requirements of the Expect request-header field.RFC 9110
418I'm a TeapotDefined as an April Fools' joke in RFC 2324. Some servers use this to decline requests they choose not to fulfill.RFC 2324
421Misdirected RequestThe request was directed at a server that is not able to produce a response.RFC 9110
422Unprocessable ContentThe request was well-formed but could not be followed due to semantic errors.RFC 9110
423LockedThe resource that is being accessed is locked.RFC 4918
424Failed DependencyThe request failed because it depended on another request and that request failed.RFC 4918
425Too EarlyThe server is unwilling to risk processing a request that might be replayed.RFC 8470
426Upgrade RequiredThe client should switch to a different protocol such as TLS/1.3.RFC 9110
428Precondition RequiredThe origin server requires the request to be conditional.RFC 6585
429Too Many RequestsThe user has sent too many requests in a given amount of time ('rate limiting').RFC 6585
431Request Header Fields Too LargeThe server is unwilling to process the request because an individual header field, or all header fields collectively, are too large.RFC 6585
451Unavailable For Legal ReasonsA server operator has received a legal demand to deny access to a resource or to a set of resources that includes the requested resource.CacheableRFC 7725
500Internal Server ErrorA generic error message given when an unexpected condition was encountered and no more specific message is suitable.RFC 9110
501Not ImplementedThe server either does not recognize the request method, or it lacks the ability to fulfil the request.CacheableRFC 9110
502Bad GatewayThe server was acting as a gateway or proxy and received an invalid response from the upstream server.RFC 9110
503Service UnavailableThe server cannot handle the request because it is overloaded or down for maintenance. Generally a temporary state.RFC 9110
504Gateway TimeoutThe server was acting as a gateway or proxy and did not receive a timely response from the upstream server.RFC 9110
505HTTP Version Not SupportedThe server does not support the HTTP version used in the request.RFC 9110
506Variant Also NegotiatesTransparent content negotiation for the request results in a circular reference.RFC 2295
507Insufficient StorageThe server is unable to store the representation needed to complete the request.RFC 4918
508Loop DetectedThe server detected an infinite loop while processing the request.RFC 5842
510Not ExtendedFurther extensions to the request are required for the server to fulfil it.RFC 2774
511Network Auth RequiredThe client needs to authenticate to gain network access. Intended for use by intercepting proxies.RFC 6585
66 codes · RFC 9110 HTTP/1.1 · HTTP/2 · HTTP/3