Every HTTP status code from 100 to 511, what it means, and what the client or server should do about it. All rows are plain text - search to filter, click Copy to grab the pattern.
Reference rack
STATUSREADY
ROWS61
NETWORKLOCAL
MODEREFERENCE
| Item / pattern | What it means / how to use it | |
|---|---|---|
| 100 | Continue - server received request headers; the client should send the body. | |
| 101 | Switching Protocols - server is upgrading to the protocol named in the Upgrade request header. | |
| 102 | Processing (WebDAV) - request received; a final response is coming later. | |
| 103 | Early Hints - server sends preliminary headers (often preload hints) before the real response. | |
| 200 | OK - the standard success; body contains the result. | |
| 201 | Created - a new resource was created; responses should carry a Location header. | |
| 202 | Accepted - request accepted for processing, but the work is not finished yet. | |
| 203 | Non-Authoritative Information - a proxy transformed the response; body may differ from the origin server. | |
| 204 | No Content - success with an empty body; typical for DELETE and silent updates. | |
| 205 | Reset Content - tells the client to reset the document that sent the request. | |
| 206 | Partial Content - delivering a partial body (byte ranges); used by resume and streamed downloads. | |
| 207 | Multi-Status (WebDAV) - multiple independent operation statuses in one body. | |
| 226 | IM Used - instance manipulations applied (RFC 3229 delta encoding). | |
| 300 | Multiple Choices - several possible responses; the client should pick one. | |
| 301 | Moved Permanently - resource relocated; future requests should use the Location URL. | |
| 302 | Found - legacy temporary redirect; newer code prefers 303 or 307 semantics. | |
| 303 | See Other - after a POST, the client should GET the URL in Location. | |
| 304 | Not Modified - conditional request (If-None-Match / If-Modified-Since); cached copy is still valid. | |
| 305 | Use Proxy - must go through the proxy named in Location; deprecated and widely ignored. | |
| 307 | Temporary Redirect - redirect with method and body repeated unchanged. | |
| 308 | Permanent Redirect - permanent redirect with method and body repeated unchanged. | |
| 400 | Bad Request - malformed or invalid request that the server will not process. | |
| 401 | Unauthorized - authentication failed or is missing; include a WWW-Authenticate header. | |
| 402 | Payment Required - reserved; historically tied to digital payment flows. | |
| 403 | Forbidden - server refuses to authorize even a valid request; auth will not help. | |
| 404 | Not Found - no resource at this URL; do not reveal whether a resource used to exist. | |
| 405 | Method Not Allowed - method is known but not allowed here; include an Allow header. | |
| 406 | Not Acceptable - cannot represent the response in a format the Accept headers permit. | |
| 407 | Proxy Authentication Required - authenticate first with the proxy (Proxy-Authenticate). | |
| 408 | Request Timeout - server gave up waiting for the request; a retry is legal. | |
| 409 | Conflict - request clashes with current resource state (for example duplicate creates). | |
| 410 | Gone - the resource existed but was intentionally removed forever. | |
| 411 | Length Required - the Content-Length header is missing or invalid and is required. | |
| 412 | Precondition Failed - a precondition (If-Match / If-Unmodified-Since) evaluated to false. | |
| 413 | Payload Too Large - request body exceeds the server limit; retry smaller. | |
| 414 | URI Too Long - the request URI is longer than the server will parse. | |
| 415 | Unsupported Media Type - the Content-Encoding or Content-Type is not supported. | |
| 416 | Range Not Satisfiable - requested byte range cannot be fulfilled; return Content-Range: bytes */LEN. | |
| 417 | Expectation Failed - an Expect header expectation could not be met. | |
| 418 | I Am a Teapot - RFC 2324 easter egg; some services serve it for humor. | |
| 421 | Misdirected Request - request was routed to a server that cannot answer for the authority. | |
| 422 | Unprocessable Entity - well-formed request but the business/validation rules failed. | |
| 423 | Locked - the resource is locked (WebDAV) and cannot accept the operation. | |
| 424 | Failed Dependency - the action depends on an earlier action that failed (WebDAV). | |
| 425 | Too Early - server will not risk replaying the request (TLS 1.3 0-RTT). | |
| 426 | Upgrade Required - client should switch to the protocol named in the Upgrade header. | |
| 428 | Precondition Required - the server requires the request to be conditional (RFC 6585). | |
| 429 | Too Many Requests - rate limited; honor Retry-After and back off. | |
| 431 | Request Header Fields Too Large - request headers exceed the server size limit. | |
| 451 | Unavailable For Legal Reasons - the resource is blocked for legal reasons (RFC 7725). | |
| 500 | Internal Server Error - generic server failure; log it and return a generic message. | |
| 501 | Not Implemented - the functionality needed is not supported by this server. | |
| 502 | Bad Gateway - a gateway or proxy got an invalid response from upstream. | |
| 503 | Service Unavailable - server down, overloaded, or in maintenance; add Retry-After when known. | |
| 504 | Gateway Timeout - the upstream server did not answer in time. | |
| 505 | HTTP Version Not Supported - the server refuses the HTTP protocol version used. | |
| 506 | Variant Also Negotiates - transparent content negotiation configuration error. | |
| 507 | Insufficient Storage - the server cannot store the needed representation (WebDAV). | |
| 508 | Loop Detected - an infinite loop was detected while processing (WebDAV). | |
| 510 | Not Extended - further extensions to the request are required (RFC 2774). | |
| 511 | Network Authentication Required - the client must authenticate to the network itself (captive portals). |