HTTP Status Reference

Quick lookup for HTTP status codes

100

Continue

The client should continue with its request

101

Switching Protocols

Server agrees to switch protocols

102

Processing

Server has received and is processing the request (WebDAV)

103

Early Hints

Hints for preloading resources before the final response

200

OK

Request succeeded

201

Created

Request succeeded and a new resource was created

202

Accepted

Request accepted but processing not yet completed

203

Non-Authoritative Information

Response from a third-party copy of the resource

204

No Content

Request succeeded, no body to return

205

Reset Content

Ask the client to reset the document view

206

Partial Content

Partial GET request fulfilled

207

Multi-Status

Multiple status codes (WebDAV)

208

Already Reported

Members reported in a previous reply (WebDAV)

226

IM Used

The server fulfilled a GET request using instance manipulation

300

Multiple Choices

Multiple options for the resource

301

Moved Permanently

Resource permanently moved to new URL

302

Found

Temporary redirect to different URL

303

See Other

Redirect to another URI using GET

304

Not Modified

Cached version is still valid

307

Temporary Redirect

Repeat request with same method to new URL

308

Permanent Redirect

Permanent redirect; do not change method

400

Bad Request

Malformed request syntax or invalid parameters

401

Unauthorized

Authentication required

402

Payment Required

Reserved for digital payment systems

403

Forbidden

Server refuses to authorize the request

404

Not Found

Requested resource could not be found

405

Method Not Allowed

HTTP method not allowed for the resource

406

Not Acceptable

Response content type not acceptable to client

407

Proxy Authentication Required

Client must authenticate with proxy

408

Request Timeout

Server timed out waiting for request

409

Conflict

Request conflicts with current state of resource

410

Gone

Resource permanently deleted

411

Length Required

Content-Length header required

412

Precondition Failed

Precondition in request headers failed

413

Content Too Large

Request body exceeds server limit

414

URI Too Long

URI is longer than server can process

415

Unsupported Media Type

Media type not supported by the server

416

Range Not Satisfiable

Range header cannot be fulfilled

417

Expectation Failed

Expect header cannot be met

418

I'm a Teapot

The server refuses to brew coffee (April Fools RFC 2324)

421

Misdirected Request

Request directed at a server unable to produce a response

422

Unprocessable Content

Request well-formed but semantic errors

423

Locked

Resource being accessed is locked (WebDAV)

424

Failed Dependency

Method failed due to previous dependent request (WebDAV)

425

Too Early

Server unwilling to risk replaying early data

426

Upgrade Required

Client must upgrade to use the service

428

Precondition Required

Server requires conditional request

429

Too Many Requests

Client exceeded rate limit

431

Request Header Fields Too Large

Header fields too large

451

Unavailable For Legal Reasons

Resource unavailable due to legal reasons

500

Internal Server Error

Generic server error

501

Not Implemented

Server does not support the functionality

502

Bad Gateway

Invalid response from upstream server

503

Service Unavailable

Server temporarily unavailable or overloaded

504

Gateway Timeout

Upstream server timed out

505

HTTP Version Not Supported

HTTP version used in request not supported

506

Variant Also Negotiates

Content negotiation circular reference

507

Insufficient Storage

Server unable to store representation (WebDAV)

508

Loop Detected

Infinite loop detected (WebDAV)

510

Not Extended

Further extensions required to fulfil the request

511

Network Authentication Required

Client must authenticate for network access

About the HTTP Status Code Reference

This HTTP status codes reference lists every code from 100 to 599 with its meaning and the practical difference between similar ones — which matters because caches, browsers and crawlers all behave differently per code.

HTTP status codes are grouped by first digit: 2xx succeeded, 3xx redirects, 4xx the client got it wrong, 5xx the server did. That much is widely known; the distinctions within each group are what get looked up.

The redirect pair matters most. A 301 is permanent and is cached aggressively by browsers and treated by search engines as a signal to transfer ranking to the new URL; a 302 is temporary and transfers nothing. Using 301 during a migration you later reverse is genuinely painful, because browsers keep following the cached redirect.

On the error side, 404 says the resource is not there while 410 says it was deliberately removed, and crawlers drop a 410 faster. A 503 tells a crawler to come back rather than to drop the page, which is why it is the correct response during maintenance. To check what a live URL actually returns, use the HTTP status checker.

How to use the HTTP Status Code Reference

  1. Find the code. Browse by class or search for the specific number.
  2. Read the meaning. See what the code asserts and when it applies.
  3. Check the handling. Note how browsers, caches and crawlers treat it.
  4. Pick the right one. Choose the code that matches your intent, not just the class.

HTTP Status Code Reference features

  • Every status code from 100 to 599
  • Grouped by class: informational, success, redirection, client error, server error
  • The practical difference between codes that look similar
  • Notes on how caches, browsers and crawlers treat each one
  • A static reference — nothing is sent anywhere

Frequently asked questions

What do the code classes mean?

1xx is informational, 2xx succeeded, 3xx means look elsewhere, 4xx blames the request and 5xx blames the server. That first digit is the part clients and crawlers act on.

301 or 302?

301 is permanent and transfers ranking signals to the new URL; 302 is temporary and does not. Use 301 when a page has genuinely moved for good — and note that 301s are cached hard by browsers, so a mistaken one is painful to undo.

404 or 410?

404 means not found, which crawlers keep rechecking for a long time. 410 means intentionally gone, which gets the URL dropped faster. Use 410 when you have deliberately removed something permanently.

Which code should a failed form validation return?

400 for a malformed request, or 422 when the request is well-formed but the values are unacceptable. Returning 200 with an error message in the body is common and wrong — it breaks caching, monitoring and any client that checks the status.

What does 429 mean for an API client?

Too many requests: you have been rate limited. Look for a Retry-After header and honour it, backing off exponentially rather than retrying immediately — which is how a rate limit turns into a ban.