HTTP status codes are responses from a server telling you what happened when a request was made.
| Code | Name | Description |
|---|---|---|
| 100 | Continue | Request headers received; client should continue sending body |
| 101 | Switching Protocols | Server agrees to switch protocol (e.g., HTTP ā WebSocket) |
| 102 | Processing | Server is still processing the request |
| 103 | Early Hints | Preload resources before full response |
| Code | Name | Description |
|---|---|---|
| 200 | OK | Request succeeded |
| 201 | Created | New resource created |
| 202 | Accepted | Request accepted but not processed yet |
| 203 | Non-Authoritative Information | Response modified by proxy |
| 204 | No Content | Success, no response body |
| 205 | Reset Content | Client should reset view/form |
| 206 | Partial Content | Partial resource returned (Range requests) |
| 207 | Multi-Status | Multiple resource status (WebDAV) |
| 208 | Already Reported | Avoid duplicate reporting (WebDAV) |
| 226 | IM Used | Resource modified via instance manipulation |
| Code | Name | Description |
|---|---|---|
| 300 | Multiple Choices | Multiple resource options available |
| 301 | Moved Permanently | Resource permanently moved |
| 302 | Found | Temporary redirect |
| 303 | See Other | Redirect using GET |
| 304 | Not Modified | Use cached version |
| 307 | Temporary Redirect | Same method, temporary redirect |
| 308 | Permanent Redirect | Same method, permanent redirect |
| Code | Name | Description |
|---|---|---|
| 400 | Bad Request | Invalid request syntax |
| 401 | Unauthorized | Authentication required/failed |
| 402 | Payment Required | Reserved (rarely used) |
| 403 | Forbidden | Access denied |
| 404 | Not Found | Resource not found |
| 405 | Method Not Allowed | Method not supported |
| 406 | Not Acceptable | No matching response format |
| 407 | Proxy Authentication Required | Proxy auth needed |
| 408 | Request Timeout | Request timed out |
| 409 | Conflict | Request conflicts with resource |
| 410 | Gone | Resource permanently removed |
| 411 | Length Required | Missing Content-Length |
| 412 | Precondition Failed | Request conditions not met |
| 413 | Payload Too Large | Request too large |
| 414 | URI Too Long | URI too long |
| 415 | Unsupported Media Type | Format not supported |
| 416 | Range Not Satisfiable | Invalid range request |
| 417 | Expectation Failed | Expect header not met |
| 418 | Iām a Teapot | Joke status code ā |
| 421 | Misdirected Request | Wrong server |
| 422 | Unprocessable Entity | Semantic errors in request |
| 423 | Locked | Resource locked |
| 424 | Failed Dependency | Dependent request failed |
| 425 | Too Early | Replay attack risk |
| 426 | Upgrade Required | Must switch protocol |
| 428 | Precondition Required | Conditional request needed |
| 429 | Too Many Requests | Rate limited |
| 431 | Header Fields Too Large | Headers too large |
| 451 | Unavailable for Legal Reasons | Blocked due to law |
| Code | Name | Description |
|---|---|---|
| 500 | Internal Server Error | Generic server failure |
| 501 | Not Implemented | Feature not supported |
| 502 | Bad Gateway | Invalid upstream response |
| 503 | Service Unavailable | Server overloaded/maintenance |
| 504 | Gateway Timeout | Upstream timeout |
| 505 | HTTP Version Not Supported | Version not supported |
| 506 | Variant Also Negotiates | Configuration error |
| 507 | Insufficient Storage | Not enough storage |
| 508 | Loop Detected | Infinite loop detected |
| 510 | Not Extended | Extensions required |
| 511 | Network Authentication Required | Network login required |