Skip to content
Reference

HTTP Status Codes

Every HTTP request returns a status code that tells you what happened — whether a page loaded, redirected, went missing, or errored on the server. Below is a complete, plain-English list of the status codes you’ll actually run into, grouped by category, with what each one means and how to fix it.

1xx— Informational

2xx— Success

3xx— Redirection

4xx— Client Error

400→

Bad Request

The server could not understand the request due to malformed syntax.

401→

Unauthorized

Authentication is required and has failed or not been provided.

402→

Payment Required

A largely reserved code intended for payment-gated access to a resource.

403→

Forbidden

The server understood the request but refuses to authorize it.

404→

Not Found

The server could not find the requested resource.

405→

Method Not Allowed

The HTTP method used is not supported for the requested resource.

406→

Not Acceptable

The server cannot produce a response matching the formats the client said it would accept.

407→

Proxy Authentication Required

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

408→

Request Timeout

The server timed out waiting for the request to complete.

409→

Conflict

The request clashes with the current state of the resource and cannot be completed.

410→

Gone

The resource is permanently gone and will not return.

411→

Length Required

The server refuses the request because it lacks a Content-Length header.

412→

Precondition Failed

A condition the client set on the request was not met, so the server did not proceed.

413→

Payload Too Large

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

414→

URI Too Long

The requested URL is longer than the server is willing to interpret.

415→

Unsupported Media Type

The server refuses the request because the body is in a format it does not support.

416→

Range Not Satisfiable

The byte range the client asked for lies outside the size of the resource.

417→

Expectation Failed

The server cannot meet the requirement set in the request's Expect header.

418→

I'm a teapot

A famous April Fools' status code from the Hyper Text Coffee Pot Control Protocol.

421→

Misdirected Request

The request reached a server that is not configured to produce a response for it.

422→

Unprocessable Content

The request was well-formed but contains semantic errors that prevent processing.

423→

Locked

The resource the request targets is locked against the attempted operation.

425→

Too Early

The server declines to process a request that was replayed too early, to avoid replay attacks.

426→

Upgrade Required

The server refuses the request on the current protocol and asks the client to upgrade.

428→

Precondition Required

The server requires the request to be conditional to prevent lost updates.

429→

Too Many Requests

The client has sent too many requests in a given amount of time.

431→

Request Header Fields Too Large

The server refuses the request because its headers are too large.

451→

Unavailable For Legal Reasons

The resource is unavailable due to legal demands.

5xx— Server Error

500→

Internal Server Error

A generic error meaning the server encountered an unexpected condition.

501→

Not Implemented

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

502→

Bad Gateway

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

503→

Service Unavailable

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

504→

Gateway Timeout

A gateway server did not receive a timely response from the upstream server.

505→

HTTP Version Not Supported

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

506→

Variant Also Negotiates

A server misconfiguration in content negotiation causes an internal negotiation loop.

507→

Insufficient Storage

The server cannot complete the request because it is out of storage space.

508→

Loop Detected

The server stopped because it detected an infinite loop while processing the request.

510→

Not Extended

The server requires a protocol extension that the request did not provide.

511→

Network Authentication Required

The client must authenticate to the network — typically a captive portal — to gain access.

520→

Web Server Returned an Unknown Error

A Cloudflare catch-all for an empty, unexpected, or invalid response from the origin server.

521→

Web Server Is Down

A Cloudflare error meaning the origin server refused the connection.

522→

Connection Timed Out

A Cloudflare error meaning the connection to the origin server timed out before it was established.

523→

Origin Is Unreachable

A Cloudflare error meaning it could not reach the origin server at all.

524→

A Timeout Occurred

A Cloudflare error meaning the origin accepted the connection but did not respond in time.

525→

SSL Handshake Failed

A Cloudflare error meaning the TLS handshake with the origin server failed.

526→

Invalid SSL Certificate

A Cloudflare error meaning the origin's SSL certificate could not be validated.

530→

Cloudflare 1xxx Error

A Cloudflare status shown alongside a specific 1xxx error explaining the underlying problem.

Sitewell tool

See the real status codes your URLs return

Paste a list of URLs and Sitewell checks every one at once — spotting 404s, redirect chains, and 5xx errors in seconds. Free, no signup.

Chasing a different problem? Browse SSL & certificate errors or read the practical website-health guides.