September 14, 2026 · Yunus Emre Vurgun
HTTP Status Codes Cheat Sheet
Every HTTP response carries a three-digit status code. The first digit tells you the class: 2xx means success, 3xx redirection, 4xx client error, 5xx server error. This page lists the thirteen codes you will actually encounter, what each one obligates the client to do, and where to fetch the full reference as data.
The codes that matter
| Code | Name | Class | What it means |
|---|---|---|---|
| 200 | OK | Success | Request succeeded. |
| 201 | Created | Success | Resource created successfully. |
| 204 | No Content | Success | Request succeeded, no content returned. |
| 301 | Moved Permanently | Redirection | Resource permanently moved to new URL. |
| 304 | Not Modified | Redirection | Cached version is still valid. |
| 400 | Bad Request | Client error | Malformed request syntax. |
| 401 | Unauthorized | Client error | Authentication required. |
| 403 | Forbidden | Client error | Server refuses to authorize. |
| 404 | Not Found | Client error | Resource not found. |
| 429 | Too Many Requests | Client error | Rate limit exceeded. |
| 500 | Internal Server Error | Server error | Unexpected server condition. |
| 502 | Bad Gateway | Server error | Invalid response from upstream. |
| 503 | Service Unavailable | Server error | Server temporarily overloaded. |
Three distinctions worth memorizing
401 vs 403. 401 means the request lacks valid credentials and might succeed after authentication. 403 means the server understood the credentials and still refuses. Retrying a 403 with the same credentials never helps.
301 vs 304. 301 says the resource moved and the client should use the new URL going forward. 304 says the client's cached copy is still fresh — it is a bandwidth saver, not an error, and carries no body.
429 vs 503. Both say "slow down," but 429 points at the caller's quota while 503 points at the server's capacity. A well-behaved client backs off on both; see Retry-After and backoff for the exact algorithm.
Use it as data, not prose
This table is also a dataset: HTTP Status Codes, complete. Fetch it in one request and your agent can validate status handling against a known list instead of recalling codes from training data:
curl "https://yjtoon.com/api/dataset/http-status-codes-complete?format=toon"For the surrounding guides — redirects, caching, client and server errors, content negotiation — browse the HTTP Status Codes category. If you are building retry logic, read rate-limit response headers next.