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.