HTTP status codes
The three-digit number a server sends back with every response. The first digit tells you the family.
| Code | Name | In plain English |
|---|---|---|
| 1xx · Informational | ||
101 | Switching Protocols | “OK, let's switch to WebSockets.” |
| 2xx · Success | ||
200 | OK | Here's what you asked for. |
201 | Created | I made the new thing. |
204 | No Content | Done, nothing to send back. |
| 3xx · Redirection | ||
301 | Moved Permanently | It lives at a new address now. Update your links. |
302 | Found | Go over there for now. |
304 | Not Modified | Nothing changed, use your cached copy. |
308 | Permanent Redirect | Like 301, but keep the same method (POST stays POST). |
| 4xx · Client error (your request) | ||
400 | Bad Request | I can't understand that request. |
401 | Unauthorized | Who are you? Log in first. |
403 | Forbidden | I know who you are. You're still not allowed. |
404 | Not Found | Nothing lives here. |
405 | Method Not Allowed | You can't POST (or DELETE…) to this. |
409 | Conflict | That clashes with the current state. |
422 | Unprocessable Content | I understood it, but the data is invalid. |
429 | Too Many Requests | Slow down. You've hit a rate limit. |
| 5xx · Server error (their problem) | ||
500 | Internal Server Error | Something broke on the server. |
502 | Bad Gateway | The server behind me sent nonsense. |
503 | Service Unavailable | Down or overloaded. Try again later. |
504 | Gateway Timeout | The server behind me took too long. |
Memory trick: 401 = “who are you?”, 403 = “I know who you are, and no.”