Back to Reference

HTTP Status Codes

A complete reference for HTTP status codes — what they mean, when servers send them, and how to handle them in your applications.

100 1xx

Continue

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

101 1xx

Switching Protocols

The server agrees to switch protocols as requested by the client via the Upgrade header.

102 1xx

Processing

The server has accepted the complete request but processing will take time, and this response prevents the client from timing out.

103 1xx

Early Hints

The server sends preliminary headers before the final response, allowing the client to start preloading resources sooner.

200 2xx

OK

The request succeeded, and the response contains the requested data or confirmation of the action.

201 2xx

Created

The request succeeded and resulted in a new resource being created.

202 2xx

Accepted

The request has been accepted for processing, but the processing has not been completed.

203 2xx

Non-Authoritative Information

The request succeeded, but the returned metadata is from a transforming proxy rather than the origin server.

204 2xx

No Content

The request succeeded, but there is no content to send in the response body.

205 2xx

Reset Content

The server successfully processed the request and asks the client to reset the document/form view that sent it.

206 2xx

Partial Content

The server is delivering only part of the resource, as requested via a Range header.

207 2xx

Multi-Status

The response contains multiple independent status codes for multiple sub-operations performed by a single request.

208 2xx

Already Reported

Used inside a 207 Multi-Status response to avoid repeatedly enumerating the same resource bound to multiple locations.

226 2xx

IM Used

The server fulfilled a request using one or more instance manipulations applied to the resource.

300 3xx

Multiple Choices

The request has multiple possible responses, and the client should choose one.

301 3xx

Moved Permanently

The requested resource has been permanently moved to a new URL.

302 3xx

Found

The requested resource has been temporarily moved to a different URL.

303 3xx

See Other

The response to the request can be found at a different URL, retrieved specifically using GET.

304 3xx

Not Modified

The requested resource has not changed since the version specified by the client, who can use their cached copy.

305 3xx

Use Proxy

Deprecated. Originally meant the requested resource must be accessed through the proxy given in the Location header.

306 3xx

(Unused)

Reserved. Previously used in an early HTTP draft, but no longer used and not available for any other purpose.

307 3xx

Temporary Redirect

The requested resource is temporarily available at a different URL, and the request method must not change.

308 3xx

Permanent Redirect

The requested resource has been permanently moved to a different URL, and the request method must not change.

400 4xx

Bad Request

The server cannot process the request due to a client-side error in the request itself.

401 4xx

Unauthorized

The request lacks valid authentication credentials for the requested resource.

402 4xx

Payment Required

Reserved for future use; in practice, often repurposed by APIs to indicate a payment-related failure.

403 4xx

Forbidden

The server understood the request and identified the client, but refuses to authorize it.

404 4xx

Not Found

The server cannot find the requested resource.

405 4xx

Method Not Allowed

The resource exists, but the HTTP method used in the request is not supported for it.

406 4xx

Not Acceptable

The server cannot produce a response matching the content characteristics requested by the client.

407 4xx

Proxy Authentication Required

The client must authenticate with a proxy server before the request can proceed.

408 4xx

Request Timeout

The server timed out waiting for the client to send a complete request.

409 4xx

Conflict

The request could not be completed because it conflicts with the current state of the resource.

410 4xx

Gone

The requested resource is no longer available and has been intentionally, permanently removed.

411 4xx

Length Required

The server requires a Content-Length header, which the client did not provide.

412 4xx

Precondition Failed

A condition specified in the request's headers was not met by the current state of the resource.

413 4xx

Payload Too Large

The request body is larger than the server is willing or able to process.

414 4xx

URI Too Long

The URI requested by the client is longer than the server is willing to interpret.

415 4xx

Unsupported Media Type

The server refuses to process the request because the request body's format is not supported.

416 4xx

Range Not Satisfiable

The server cannot fulfill the byte-range requested by the client because it falls outside the resource's actual size.

417 4xx

Expectation Failed

The server cannot meet the requirements specified in the request's Expect header.

418 4xx

I'm a Teapot

A joke status code from an April Fools' RFC, indicating the server refuses to brew coffee because it is a teapot.

419 4xx

Page Expired

A non-standard status code used by some web frameworks to indicate an expired CSRF token or session.

420 4xx

Enhance Your Calm

A non-standard status code historically used by Twitter to indicate a client was being rate limited.

421 4xx

Misdirected Request

The request was directed at a server that is not configured to produce a response for the combination of scheme and authority requested.

422 4xx

Unprocessable Entity

The request was well-formed but contains semantic errors that prevent it from being processed.

423 4xx

Locked

The resource being accessed is locked and cannot be modified.

424 4xx

Failed Dependency

The request failed because it depended on another request that failed.

425 4xx

Too Early

The server is unwilling to process a request that might be replayed, sent before the connection is fully established.

426 4xx

Upgrade Required

The server refuses to process the request using the current protocol but may do so if the client switches to a different protocol.

428 4xx

Precondition Required

The server requires the request to include a conditional header before it can be processed.

429 4xx

Too Many Requests

The client has sent too many requests in a given amount of time and is being rate limited.

431 4xx

Request Header Fields Too Large

The server refuses to process the request because its header fields are too large.

444 4xx

Connection Closed Without Response

A non-standard Nginx status code indicating the server closed the connection without sending any response.

451 4xx

Unavailable For Legal Reasons

The server is denying access to the resource as a result of a legal demand, such as government-mandated censorship.

499 4xx

Client Closed Request

A non-standard Nginx status code indicating the client closed the connection before the server could send a response.

500 5xx

Internal Server Error

A generic error indicating the server encountered an unexpected condition and could not complete the request.

501 5xx

Not Implemented

The server does not support the functionality required to fulfill the request.

502 5xx

Bad Gateway

A server acting as a gateway or proxy received an invalid response from an upstream server.

503 5xx

Service Unavailable

The server is temporarily unable to handle requests, often due to overload or maintenance.

504 5xx

Gateway Timeout

A server acting as a gateway or proxy did not receive a response from an upstream server in time.

505 5xx

HTTP Version Not Supported

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

506 5xx

Variant Also Negotiates

The server has an internal configuration error involving content negotiation, where the chosen variant itself is configured to negotiate.

507 5xx

Insufficient Storage

The server is unable to store the representation needed to complete the request due to a lack of storage space.

508 5xx

Loop Detected

The server detected an infinite loop while processing a request with dependencies between resources.

509 5xx

Bandwidth Limit Exceeded

A non-standard status code, sometimes used by hosting providers to indicate a server has exceeded its allocated bandwidth.

510 5xx

Not Extended

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

511 5xx

Network Authentication Required

The client needs to authenticate with the network before being granted access — common with public Wi-Fi captive portals.

599 5xx

Network Connect Timeout Error

A non-standard status code, sometimes used by proxies and load balancers to indicate the connection to an upstream server timed out.

No status codes match your search.