HTTP Status Codes
Quick reference for all standard HTTP response codes. Search by number, name, or keyword.
HTTP Status Codes
HTTP Status Codes is a complete reference with descriptions, common causes and fix notes, filterable by class from 1xx through 5xx.
What each class means
The first digit tells you who has the problem. 1xx is informational, 2xx means it worked, 3xx means the resource is somewhere else, 4xx means the client sent something wrong, and 5xx means the server failed while handling a request that was fine.
That 4xx and 5xx split is the one that matters operationally. A wave of 4xx responses points at a client, an integration or a bad link. A wave of 5xx points at your own server and is always your problem.
Worked example
Pairs that are routinely confused:
- 301 vs 302permanent versus temporary redirect
- 401 vs 403not authenticated versus authenticated but not allowed
- 404 vs 410not found versus deliberately gone
Result: 301 is cached hard by browsers and search engines, so using it for a temporary move is very difficult to undo.
When it helps
- Diagnosing an API response you have not seen before.
- Choosing the correct status to return from your own endpoint.
- Explaining an error to someone without the jargon.
- Checking whether a redirect should be permanent or temporary.
Common mistakes
- Returning 200 with an error body. It tells every client and cache that the request succeeded.
- Using 301 for a temporary move. Browsers cache it aggressively and users may not reach the original again.
- Using 403 when you mean 401. The distinction is whether the request lacked credentials or had credentials that were insufficient.