🌐 HTTP status codes
1xx Informational
| 100 | Continue | Client should continue sending the request body. |
| 101 | Switching Protocols | Server is switching protocols, e.g. to WebSocket. |
| 103 | Early Hints | Preload hints sent before the final response. |
2xx Success
| 200 | OK | Request succeeded. |
| 201 | Created | Resource created; Location header usually points to it. |
| 202 | Accepted | Accepted for processing, not finished yet. |
| 204 | No Content | Success with no response body. |
| 206 | Partial Content | Range request served. |
3xx Redirection
| 301 | Moved Permanently | Permanent redirect; search engines transfer ranking. |
| 302 | Found | Temporary redirect. |
| 304 | Not Modified | Cached copy is still valid. |
| 307 | Temporary Redirect | Like 302 but the method must not change. |
| 308 | Permanent Redirect | Like 301 but the method must not change. |
4xx Client errors
| 400 | Bad Request | Malformed request syntax, invalid body or parameters. |
| 401 | Unauthorized | Missing or invalid authentication. |
| 402 | Payment Required | Reserved; used by some APIs for billing issues. |
| 403 | Forbidden | Authenticated (or not) but not allowed to access this. |
| 404 | Not Found | No resource at this URL. |
| 405 | Method Not Allowed | HTTP method not supported for this URL. |
| 406 | Not Acceptable | Cannot produce a response matching the Accept headers. |
| 407 | Proxy Authentication Required | The proxy requires credentials. |
| 408 | Request Timeout | Client took too long to send the request. |
| 409 | Conflict | Request conflicts with the current state of the resource. |
| 410 | Gone | Resource was deliberately and permanently removed. |
| 411 | Length Required | Content-Length header missing. |
| 412 | Precondition Failed | If-Match / If-Unmodified-Since condition failed. |
| 413 | Content Too Large | Request body exceeds the server limit. |
| 414 | URI Too Long | URL is longer than the server accepts. |
| 415 | Unsupported Media Type | Content-Type of the body is not supported. |
| 416 | Range Not Satisfiable | Requested byte range is invalid. |
| 418 | I'm a teapot | Easter egg from RFC 2324. |
| 422 | Unprocessable Content | Well-formed but semantically invalid (validation errors). |
| 425 | Too Early | Server refuses to process a possibly replayed request. |
| 426 | Upgrade Required | Client must switch protocols. |
| 428 | Precondition Required | Server requires conditional requests. |
| 429 | Too Many Requests | Rate limit exceeded. |
| 431 | Request Header Fields Too Large | Headers (often cookies) are too big. |
| 451 | Unavailable For Legal Reasons | Blocked for legal reasons. |
| 499 | Client Closed Request (Nginx) | Client disconnected before the server responded. |
5xx Server errors
| 500 | Internal Server Error | Unhandled error on the server. |
| 501 | Not Implemented | Server does not support the functionality. |
| 502 | Bad Gateway | Proxy got an invalid response from the upstream server. |
| 503 | Service Unavailable | Server overloaded or down for maintenance. |
| 504 | Gateway Timeout | Upstream did not respond in time. |
| 505 | HTTP Version Not Supported | Protocol version not supported. |
| 507 | Insufficient Storage | Server cannot store the representation. |
| 508 | Loop Detected | Infinite loop while processing. |
| 511 | Network Authentication Required | Captive portal login needed. |
| 520 | Unknown Error (Cloudflare) | Origin returned an empty or unexpected response. |
| 521 | Web Server Is Down (Cloudflare) | Origin refused the connection. |
| 522 | Connection Timed Out (Cloudflare) | Cloudflare could not reach the origin in time. |
| 523 | Origin Is Unreachable (Cloudflare) | Routing/DNS issue to origin. |
| 524 | A Timeout Occurred (Cloudflare) | Origin accepted the connection but took >100s to respond. |
| 525 | SSL Handshake Failed (Cloudflare) | TLS handshake with origin failed. |
| 526 | Invalid SSL Certificate (Cloudflare) | Origin certificate is invalid. |