HTTP Status Codes List
Use this index as a protocol reference: start with the status class, then open the matching status reference page for first checks and related code boundaries.
How to use this list
- Start with class intent: 1xx signals, 2xx success, 3xx redirects, 4xx caller issues, 5xx service failures.
- Open the status page when you need a short definition and adjacent code comparisons.
- Open the full guide when you need troubleshooting steps and implementation detail.
Fast triage path
If you are debugging production traffic, separate client-side 4xx from server-side 5xx first, then validate exact semantics with comparison pages before changing behavior.
1xx Informational
2xx Success
3xx Redirect Codes
4xx Client Errors
- HTTP 400 — Bad Request
- HTTP 401 — Unauthorized
- HTTP 402 — Payment Required
- HTTP 403 — Forbidden
- HTTP 404 — Not Found
- HTTP 405 — Method Not Allowed
- HTTP 406 — Not Acceptable
- HTTP 407 — Proxy Authentication Required
- HTTP 408 — Request Timeout
- HTTP 409 — Conflict
- HTTP 410 — Gone
- HTTP 411 — Length Required
- HTTP 412 — Precondition Failed
- HTTP 413 — Content Too Large
- HTTP 414 — URI Too Long
- HTTP 415 — Unsupported Media Type
- HTTP 416 — Range Not Satisfiable
- HTTP 417 — Expectation Failed
- HTTP 418 — Unused
- HTTP 421 — Misdirected Request
- HTTP 422 — Unprocessable Content
- HTTP 423 — Locked
- HTTP 424 — Failed Dependency
- HTTP 425 — Too Early
- HTTP 426 — Upgrade Required
- HTTP 427 — Unassigned
- HTTP 428 — Precondition Required
- HTTP 429 — Too Many Requests
- HTTP 430 — Unassigned
- HTTP 431 — Request Header Fields Too Large
- HTTP 451 — Unavailable For Legal Reasons
5xx Server Errors
- HTTP 500 — Internal Server Error
- HTTP 501 — Not Implemented
- HTTP 502 — Bad Gateway
- HTTP 503 — Service Unavailable
- HTTP 504 — Gateway Timeout
- HTTP 505 — HTTP Version Not Supported
- HTTP 506 — Variant Also Negotiates
- HTTP 507 — Insufficient Storage
- HTTP 508 — Loop Detected
- HTTP 509 — Unassigned
- HTTP 510 — Not Extended
- HTTP 511 — Network Authentication Required