About HTTP Status Codes
All HTTP status codes from RFC 9110 (the modern HTTP semantics document), WebDAV, and IANA — with descriptions, RFC section links, and category filters (1xx informational, 2xx success, 3xx redirection, 4xx client error, 5xx server error). Search any code or description. The tab developers keep open.
What status codes communicate
A three-digit number that tells the client, in one byte, how the server interpreted the request. The first digit picks a category; the rest narrows the meaning:
- 1xx — informational, request received, continuing
- 2xx — success, request was received, understood, and accepted
- 3xx — redirection, further action needed to complete the request
- 4xx — client error, the request contains bad syntax or cannot be fulfilled
- 5xx — server error, the server failed to fulfill an apparently valid request
The codes you will see weekly
| Code | Meaning | Common cause |
|---|---|---|
| 200 | OK | Successful GET, POST, PUT |
| 201 | Created | Successful POST creating a resource |
| 204 | No Content | Successful DELETE, idle PATCH |
| 301 | Moved Permanently | Permanent URL change, browsers cache |
| 302 | Found | Temporary redirect, browsers do not cache |
| 304 | Not Modified | Conditional request hit a cached resource |
| 400 | Bad Request | Malformed body or query |
| 401 | Unauthorized | No or invalid credentials |
| 403 | Forbidden | Authenticated but not allowed |
| 404 | Not Found | Resource does not exist |
| 409 | Conflict | Concurrent edit, duplicate ID |
| 422 | Unprocessable Entity | Validation errors |
| 429 | Too Many Requests | Rate-limited |
| 500 | Internal Server Error | Unhandled exception |
| 502 | Bad Gateway | Upstream returned garbage |
| 503 | Service Unavailable | Overloaded, maintenance |
| 504 | Gateway Timeout | Upstream took too long |
The reference page has every code, including WebDAV, the 1xx informational set, and the rare 5xx variants.
Common workflows
Debug a failing API call. Look up the code, read the meaning, check the spec. Most “wrong” status codes are correct codes communicating something other than what the front-end assumed.
Audit your own API. A REST audit asks: are 4xx codes used correctly? Is 422 distinguished from 400? Is rate limiting 429 or improperly 503? This reference grounds the conversation.
Triage a load test. A spike of 503s means your servers; a spike of 502s means upstreams; a spike of 504s means upstreams that hang. The taxonomy guides the investigation.
Why a separate reference
Status code semantics are surprisingly stable but the spec is spread across RFC 9110 (semantics), 9111 (caching), 9112 (HTTP/1.1), 9113 (HTTP/2), 9114 (HTTP/3), plus WebDAV’s RFC 4918. A single searchable list with the citations is faster than Cmd+F across PDFs.
Frequently asked questions
What is the difference between 401 and 403?
When do I use 422 vs 400?
What is 429 and how should clients respond?
Retry-After header with seconds until retry is allowed. Well-behaved clients honor it with exponential backoff.Is 418 I'm a Teapot real?
What is the difference between 502 and 503?
Should I use 200 or 204 for a successful DELETE?
Related tools
Last updated: 2025-01-15