HTTP status codes
One page per status code: what it means, the spec section that defines it, the causes that actually produce it in production, how to debug it, and working curl, Python, and Node examples. Codes are taken from theIANA HTTP Status Code Registry; widely-deployed vendor codes that are not registered are grouped separately and labelled as non-standard.
Looking for a searchable single-page cheat sheet instead? Use theHTTP status code reference tool.
1xx — Informational
Interim responses. The client should expect a final status after these, and most HTTP libraries swallow them without ever telling you they arrived.
2xx — Success
The request was received, understood, and accepted. Which 2xx you pick tells the client whether a body follows and whether anything was created.
3xx — Redirection
Further action is needed to complete the request. The difference between the redirect codes is whether the method is preserved and whether caches may keep the mapping.
4xx — Client error
The request was malformed, unauthorised, or asked for something that is not there. A 4xx means retrying the identical request will not help.
- 400 Bad Request
- 401 Unauthorized
- 402 Payment Required
- 403 Forbidden
- 404 Not Found
- 405 Method Not Allowed
- 406 Not Acceptable
- 407 Proxy Authentication Required
- 408 Request Timeout
- 409 Conflict
- 410 Gone
- 411 Length Required
- 412 Precondition Failed
- 413 Content Too Large
- 414 URI Too Long
- 415 Unsupported Media Type
- 416 Range Not Satisfiable
- 417 Expectation Failed
- 418 (Unused)
- 421 Misdirected Request
- 422 Unprocessable Content
- 423 Locked
- 424 Failed Dependency
- 425 Too Early
- 426 Upgrade Required
- 428 Precondition Required
- 429 Too Many Requests
- 431 Request Header Fields Too Large
- 451 Unavailable For Legal Reasons
Non-standard 4xx codes
Not in the IANA registry. These are vendor-specific codes you will still meet in real logs.
5xx — Server error
The server knows it failed, or cannot do what was asked. Most 5xx codes are retryable, and the interesting question is usually which hop in the chain produced it.
- 500 Internal Server Error
- 501 Not Implemented
- 502 Bad Gateway
- 503 Service Unavailable
- 504 Gateway Timeout
- 505 HTTP Version Not Supported
- 506 Variant Also Negotiates
- 507 Insufficient Storage
- 508 Loop Detected
- 510 Not Extended
- 511 Network Authentication Required
Non-standard 5xx codes
Not in the IANA registry. These are vendor-specific codes you will still meet in real logs.
Related: DNS record type reference ·HTTP header inspector ·curl command builder