HTTP Status Codes
Search and explore HTTP response codes (RFC 9110/6585 + common vendor codes)
59 results
| Code | Name | Description | RFC |
|---|---|---|---|
100 | Continue | Request headers received, client should continue sending body. | RFC 9110 |
101 | Switching Protocols | Server agrees to switch protocols (e.g., HTTP/1.1 โ WebSocket). | RFC 9110 |
102 | Processing | WebDAV โ server processing, no response yet. | RFC 2518 |
103 | Early Hints | Hints (e.g., preload Link headers) sent before final response. | RFC 8297 |
200 | OK | Standard success. | RFC 9110 |
201 | Created | Resource created. Response should include Location header. | RFC 9110 |
202 | Accepted | Request accepted but not yet processed (async/queued work). | RFC 9110 |
203 | Non-Authoritative Information | Response from a transforming proxy, not the origin. | RFC 9110 |
204 | No Content | Success with no body. Common for DELETE / PUT. | RFC 9110 |
205 | Reset Content | Success โ client should reset the document view (form clear). | RFC 9110 |
206 | Partial Content | Range request success. Used in resumable downloads. | RFC 9110 |
207 | Multi-Status | WebDAV โ multiple resources, each with own status. | RFC 4918 |
300 | Multiple Choices | Multiple representations available. Rare in practice. | RFC 9110 |
301 | Moved Permanently | Permanent redirect. Cacheable. SEO favorite for URL changes. | RFC 9110 |
302 | Found | Temporary redirect. Method may change to GET (legacy). | RFC 9110 |
303 | See Other | Redirect โ explicitly switch to GET. Used after POST (PRG pattern). | RFC 9110 |
304 | Not Modified | Cached version still valid (If-Modified-Since / ETag). | RFC 9110 |
307 | Temporary Redirect | Redirect โ keep original method. Modern alternative to 302. | RFC 9110 |
308 | Permanent Redirect | Like 301 but keeps method. Modern alternative. | RFC 9110 |
400 | Bad Request | Malformed syntax or invalid framing. | RFC 9110 |
401 | Unauthorized | Authentication required or invalid (despite name โ auth, not authz). | RFC 9110 |
402 | Payment Required | Reserved for future use. Sometimes used by payment-gated APIs. | RFC 9110 |
403 | Forbidden | Authenticated but not authorized. | RFC 9110 |
404 | Not Found | Resource does not exist (or hidden). | RFC 9110 |
405 | Method Not Allowed | Method (GET/POST/...) not supported. Response should include Allow header. | RFC 9110 |
406 | Not Acceptable | No representation matches Accept headers. | RFC 9110 |
407 | Proxy Authentication Required | Proxy requires auth. | RFC 9110 |
408 | Request Timeout | Server timed out waiting for the request. | RFC 9110 |
409 | Conflict | Conflict with current state (concurrent edit, version mismatch). | RFC 9110 |
410 | Gone | Permanently removed. Stronger than 404 (intentional). | RFC 9110 |
411 | Length Required | Content-Length header missing. | RFC 9110 |
412 | Precondition Failed | If-Match / If-Unmodified-Since failed. | RFC 9110 |
413 | Content Too Large | Request body exceeds server limit (formerly 'Payload Too Large'). | RFC 9110 |
414 | URI Too Long | Request URI exceeds server limit. | RFC 9110 |
415 | Unsupported Media Type | Server doesn't accept the Content-Type. | RFC 9110 |
416 | Range Not Satisfiable | Range header out of bounds. | RFC 9110 |
417 | Expectation Failed | Expect header value not met. | RFC 9110 |
418 | I'm a teapot | April 1, 1998 RFC 2324 joke. Some servers (Google) actually return it. | RFC 2324 |
421 | Misdirected Request | Request sent to a server that can't produce a response (HTTP/2 connection coalescing). | RFC 9110 |
422 | Unprocessable Content | Syntax OK but semantically invalid (validation failure). | RFC 9110 |
423 | Locked | WebDAV โ resource locked. | RFC 4918 |
424 | Failed Dependency | WebDAV โ depended on a request that failed. | RFC 4918 |
425 | Too Early | Server unwilling to process replay attack risk (TLS 1.3 0-RTT). | RFC 8470 |
426 | Upgrade Required | Client must upgrade protocol (e.g., HTTP/2). | RFC 9110 |
428 | Precondition Required | Server requires conditional request (If-Match) to prevent lost updates. | RFC 6585 |
429 | Too Many Requests | Rate-limit exceeded. Should include Retry-After header. | RFC 6585 |
431 | Request Header Fields Too Large | Combined header size too large. | RFC 6585 |
451 | Unavailable For Legal Reasons | Censorship โ blocked by law (RFC named after Bradbury's '451'). | RFC 7725 |
500 | Internal Server Error | Unhandled exception or generic server failure. | RFC 9110 |
501 | Not Implemented | Server doesn't support the method/feature. | RFC 9110 |
502 | Bad Gateway | Gateway/proxy got invalid response from upstream. | RFC 9110 |
503 | Service Unavailable | Overloaded or under maintenance. Retry-After header recommended. | RFC 9110 |
504 | Gateway Timeout | Gateway/proxy timed out waiting for upstream. | RFC 9110 |
505 | HTTP Version Not Supported | Server doesn't support the requested HTTP version. | RFC 9110 |
506 | Variant Also Negotiates | Transparent content negotiation misconfiguration. | RFC 2295 |
507 | Insufficient Storage | WebDAV โ server storage exhausted. | RFC 4918 |
508 | Loop Detected | WebDAV โ infinite loop in request processing. | RFC 5842 |
510 | Not Extended | Extension required (rarely used). | RFC 2774 |
511 | Network Authentication Required | Captive portal โ must authenticate to access network. | RFC 6585 |
Verify outputs before using in production. No warranty โ see Terms.