MMaxTools

HTTP Status Codes

Every HTTP status code explained — searchable reference for debugging.

The HTTP Status Codes reference explains every status code you will meet in web development, grouped by family: 1xx informational, 2xx success, 3xx redirection, 4xx client errors and 5xx server errors — each with a plain-English description of what it means and when it appears.

Debugging APIs is decoding these numbers: a 401 tells you authentication failed, 403 means forbidden even with credentials, 429 is rate limiting (check Retry-After), 502 means a proxy got a bad upstream response, and 304 is your cache working as intended.

Search by code, name or meaning to find the status you are staring at. The reference covers the common IANA-registered codes with the descriptions developers actually need. Everything runs locally.

1xx Informational

100 · Continue

The server received the headers and the client can continue with the request body.

101 · Switching Protocols

The server agrees to switch protocols, e.g. to WebSocket, as requested.

102 · Processing

The server is still processing the request (WebDAV).

2xx Success

200 · OK

The request succeeded. Meaning depends on the method (GET: body, POST: created result).

201 · Created

A new resource was created as a result of the request.

202 · Accepted

The request was accepted for processing but is not finished.

203 · Non-Authoritative Information

The response was modified by a proxy and may differ from the origin.

204 · No Content

The request succeeded but there is nothing to return in the body.

205 · Reset Content

Tells the client to reset the document view.

206 · Partial Content

The server is delivering only part of the resource (range requests).

3xx Redirection

300 · Multiple Choices

The resource has several representations; the client should choose.

301 · Moved Permanently

The resource has a new permanent URL; update links and bookmarks.

302 · Found

Temporary redirect to another URL (often misused where 301 fits).

303 · See Other

Redirect to another URL, usually after a POST, fetched with GET.

304 · Not Modified

The cached copy is still valid — nothing new to send.

307 · Temporary Redirect

Temporary redirect preserving the method and body.

308 · Permanent Redirect

Permanent redirect preserving the method and body.

4xx Client Error

400 · Bad Request

The request is malformed — syntax, framing or parameters are wrong.

401 · Unauthorized

Authentication is required and was not provided or is invalid.

402 · Payment Required

Reserved for future use; historically tied to digital payments.

403 · Forbidden

The server understood the request but refuses to authorize it.

404 · Not Found

The resource does not exist on the server.

405 · Method Not Allowed

The URL exists but does not support this HTTP method.

406 · Not Acceptable

No representation matches the Accept headers sent by the client.

407 · Proxy Authentication Required

Authentication with the proxy is required first.

408 · Request Timeout

The server timed out waiting for the request.

409 · Conflict

The request conflicts with the current state of the resource.

410 · Gone

The resource used to exist but was permanently removed.

411 · Length Required

The Content-Length header is required but missing.

412 · Precondition Failed

A precondition header (like If-Match) was not satisfied.

413 · Payload Too Large

The request body exceeds the server's limit.

414 · URI Too Long

The URL is longer than the server can process.

415 · Unsupported Media Type

The Content-Type of the request is not supported.

422 · Unprocessable Entity

Well-formed request with semantic/validation errors in the content.

425 · Too Early

The server is unwilling to risk processing a replay-susceptible request.

426 · Upgrade Required

The client should switch to a different protocol, e.g. TLS.

429 · Too Many Requests

Rate limited — slow down. Respect the Retry-After header.

431 · Request Header Fields Too Large

Headers exceed the server's size limit.

451 · Unavailable For Legal Reasons

The resource is blocked for legal reasons (RFC 7725).

5xx Server Error

500 · Internal Server Error

Unexpected server failure — the generic catch-all.

501 · Not Implemented

The server does not support the requested functionality.

502 · Bad Gateway

An upstream server returned an invalid response.

503 · Service Unavailable

Temporarily overloaded or in maintenance; check Retry-After.

504 · Gateway Timeout

An upstream server did not respond in time.

505 · HTTP Version Not Supported

The server refuses the HTTP protocol version used.

The codes developers meet most: 200 OK, 301/308 permanent redirects, 304 cache hits, 401/403/404, 429 rate limits and 500/502/503 server issues.

How to use the HTTP Status Codes

  1. Scroll the family groups or search by code, name or keyword.
  2. Read each code's plain-English description.
  3. Check the colored card matching its family.
  4. Use the summary notes for the codes you meet most.
  5. Keep the tab open while debugging.

Frequently asked questions

What is the difference between 401 and 403?

401 Unauthorized means authentication is missing or failed — you have not proven who you are. 403 Forbidden means the server knows who you are but you are not allowed to access the resource.

When should I return 404 vs 410?

404 means the resource does not exist (or you are hiding its existence). 410 Gone means it existed and was permanently removed — useful when old links should stop being re-requested.

What is the difference between 301 and 308?

Both are permanent redirects, but 301 may switch POST to GET while 308 preserves the method and body. Use 308 for APIs where the request method must be kept intact.