How to read HTTP status codes
Every response from a web server starts with a three-digit code grouped by class: 1xx informational, 2xx success, 3xx redirection, 4xx client errors (the request was wrong), and 5xx server errors (the server failed).
The ones you'll actually see
- 200 OK — the request succeeded. The most common code on the internet.
- 301 / 308 — moved permanently. Browsers and search engines update the address.
- 404 Not Found — the URL doesn't exist. Check for typos, renamed pages or broken links.
- 429 Too Many Requests — you've been rate-limited. Back off and respect the Retry-After header.
- 500 / 502 / 503 / 504 — the server (or something behind it) is failing. 503 means "try again later" is expected.
Debugging workflow
Open your browser's developer tools (F12) → Network tab → reload the page. Every request shows its status code, letting you spot redirect loops (3xx), blocked resources (403/404), or failing APIs (5xx) in seconds. For API work, curl -i shows the status line of any endpoint.