HTTP Status Code Reference

A searchable reference of every standard HTTP status code, from 100 Continue to 511 Network Authentication Required, with plain-English explanations.

100ContinueInformational

The server has received the request headers and the client should proceed to send the request body.

101Switching ProtocolsInformational

The server agrees to switch protocols as requested via the Upgrade header, commonly used for WebSocket handshakes.

102ProcessingInformational

The server has received the request and is processing it, but no response is available yet (WebDAV).

103Early HintsInformational

Preliminary headers sent before the final response, mainly used with Link headers to start preloading resources.

200OKSuccess

The request succeeded. The response body depends on the method: GET returns the resource, POST returns the result of the action.

201CreatedSuccess

The request succeeded and a new resource was created, typically in response to a POST or PUT. The Location header often points to it.

202AcceptedSuccess

The request was accepted for processing, but processing has not completed. Common for asynchronous jobs and queues.

203Non-Authoritative InformationSuccess

The response was successful but the metadata was modified by a transforming proxy from the origin's response.

204No ContentSuccess

The request succeeded but there is no content to return. Common for DELETE operations and form submissions.

205Reset ContentSuccess

The request succeeded; the client should reset the document view, such as clearing a form.

206Partial ContentSuccess

The server is delivering only part of the resource due to a Range header. Used for resumable downloads and video streaming.

207Multi-StatusSuccess

The response body contains multiple status codes for multiple independent operations (WebDAV).

208Already ReportedSuccess

The members of a DAV binding have already been enumerated in a preceding part of the multi-status response (WebDAV).

226IM UsedSuccess

The server fulfilled a GET request and the response represents the result of one or more instance manipulations (delta encoding).

300Multiple ChoicesRedirection

The request has more than one possible response. The user or user agent should choose one of them.

301Moved PermanentlyRedirection

The resource has permanently moved to the URL in the Location header. Search engines update their links to the new URL.

302FoundRedirection

The resource temporarily lives at a different URL. The client should continue using the original URL for future requests.

303See OtherRedirection

The client should fetch the resource at another URL using GET, typically after a POST (the POST-redirect-GET pattern).

304Not ModifiedRedirection

The cached version is still valid; the resource has not changed since the client's If-Modified-Since or ETag. No body is sent.

307Temporary RedirectRedirection

Like 302, but the client must repeat the request with the same method and body — a POST stays a POST.

308Permanent RedirectRedirection

Like 301, but the client must repeat the request with the same method and body — a POST stays a POST.

400Bad RequestClient Error

The server cannot process the request due to a client error: malformed syntax, invalid parameters, or deceptive routing.

401UnauthorizedClient Error

Authentication is required and has failed or has not been provided. Despite the name, it means 'unauthenticated'.

402Payment RequiredClient Error

Reserved for future use; some APIs use it to signal exhausted quotas, expired subscriptions, or required payment.

403ForbiddenClient Error

The server understood the request but refuses to authorize it. Unlike 401, authenticating again will not help.

404Not FoundClient Error

The server cannot find the requested resource. The most famous status code on the web.

405Method Not AllowedClient Error

The HTTP method is not supported for this resource — e.g. a POST to a read-only endpoint. The Allow header lists valid methods.

406Not AcceptableClient Error

The server cannot produce a response matching the Accept headers sent by the client (content negotiation failed).

407Proxy Authentication RequiredClient Error

Like 401, but authentication is required with the proxy, indicated by the Proxy-Authenticate header.

408Request TimeoutClient Error

The server timed out waiting for the request. The client may repeat the request without modification.

409ConflictClient Error

The request conflicts with the current state of the resource, such as an edit conflict or a duplicate unique key.

410GoneClient Error

The resource was intentionally removed and will not return. Unlike 404, this state is expected to be permanent.

411Length RequiredClient Error

The server requires a Content-Length header and the request did not include one.

412Precondition FailedClient Error

A condition in If-Match, If-Unmodified-Since, or similar headers was not met. Used for optimistic concurrency control.

413Content Too LargeClient Error

The request body exceeds the limits the server is willing to process. Formerly named 'Payload Too Large'.

414URI Too LongClient Error

The URI is longer than the server is willing to interpret, often from over-long query strings.

415Unsupported Media TypeClient Error

The request body's media type is not supported — e.g. sending XML to an endpoint that only accepts JSON.

416Range Not SatisfiableClient Error

The Range header asks for a portion of the resource that cannot be supplied, such as beyond the end of the file.

417Expectation FailedClient Error

The server cannot meet the requirements of the Expect request header.

418I'm a teapotClient Error

An April Fools' joke from RFC 2324 (Hyper Text Coffee Pot Control Protocol). The server refuses to brew coffee because it is a teapot.

421Misdirected RequestClient Error

The request was directed at a server that is not able to produce a response, e.g. due to connection reuse across origins.

422Unprocessable ContentClient Error

The request was well-formed but contains semantic errors — the classic response for failed validation in REST APIs.

423LockedClient Error

The resource being accessed is locked (WebDAV).

424Failed DependencyClient Error

The request failed because it depended on another request that failed (WebDAV).

425Too EarlyClient Error

The server is unwilling to process a request that might be replayed, used with TLS early data.

426Upgrade RequiredClient Error

The server refuses to perform the request using the current protocol; the client should upgrade per the Upgrade header.

428Precondition RequiredClient Error

The server requires the request to be conditional (e.g. include If-Match) to prevent lost-update problems.

429Too Many RequestsClient Error

The client has sent too many requests in a given time window. Rate limiting — check the Retry-After header.

431Request Header Fields Too LargeClient Error

The server refuses to process the request because its header fields (individually or together) are too large.

451Unavailable For Legal ReasonsClient Error

The resource is unavailable for legal reasons, such as censorship or government demands. A reference to Fahrenheit 451.

500Internal Server ErrorServer Error

A generic error: the server encountered an unexpected condition and no more specific message is suitable.

501Not ImplementedServer Error

The server does not recognize the request method or lacks the ability to fulfil it.

502Bad GatewayServer Error

The server, acting as a gateway or proxy, received an invalid response from the upstream server.

503Service UnavailableServer Error

The server cannot handle the request — usually overloaded or down for maintenance. Retry-After may indicate when to try again.

504Gateway TimeoutServer Error

The server, acting as a gateway or proxy, did not receive a timely response from the upstream server.

505HTTP Version Not SupportedServer Error

The server does not support the HTTP protocol version used in the request.

506Variant Also NegotiatesServer Error

A configuration error in transparent content negotiation caused a circular reference.

507Insufficient StorageServer Error

The server is unable to store the representation needed to complete the request (WebDAV).

508Loop DetectedServer Error

The server detected an infinite loop while processing the request (WebDAV).

510Not ExtendedServer Error

Further extensions to the request are required for the server to fulfil it.

511Network Authentication RequiredServer Error

The client needs to authenticate to gain network access — the status behind captive portals on public Wi-Fi.

HTTP status codes are three-digit numbers returned with every HTTP response, grouped into five classes: 1xx informational, 2xx success, 3xx redirection, 4xx client errors, and 5xx server errors. Knowing the difference between a 401 and a 403, a 301 and a 308, or a 502 and a 504 makes debugging APIs, reverse proxies, and CDNs dramatically faster. This reference covers the standard codes registered with IANA, including WebDAV extensions and the famous 418 teapot.

Privacy and cookie preferences

We use strictly necessary cookies to run the site. Analytics, marketing, and AI assistant telemetry are optional and disabled until you choose. You can update consent any time in Cookie Settings.

Some infrastructure cookies, such as load balancer routing cookies, are essential for service delivery. Details: Cookie Policy