HTTP Status Codes
Every status code that matters — searchable, explained, copyable.
About this reference
The status codes you'll actually meet, grouped and colour-coded by class, searchable by number or word, each with what it MEANS in practice rather than spec-speak. Click any row to copy it into a bug report.
Reading codes like a debugger
The first digit triages: 2xx worked, 3xx look elsewhere, 4xx you erred, 5xx the server erred. The distinctions that settle arguments: 401 means unauthenticated (log in) while 403 means authenticated-but-forbidden (logging in again is pointless); 301 transfers SEO weight permanently while 302 doesn't (the SEO toolkit cares); 502/504 blame the machine BEHIND the proxy you reached; and 429 is the polite request to slow down that scrapers ignore at their peril. The teapot (418) is real — an April Fools RFC from 1998 that the internet loved too much to delete, and a gentle reminder the whole stack was built by humans. Dissect the failing URL while you're here.
Frequently asked questions
What's the difference between 401 and 403?
401 means the server doesn't know who you are — authenticate. 403 means it knows exactly who you are and the answer is still no. The fix for one is logging in; for the other, permissions.
What's the difference between 301 and 302 redirects?
301 is permanent and transfers search-engine ranking to the new URL — use it for migrations. 302 is temporary and keeps ranking on the old URL. Choosing wrong is a classic SEO wound.
What does 502 Bad Gateway actually mean?
The proxy or load balancer you reached got a bad response from the server behind it — the failure is one hop deeper than the error page. 504 is the same geometry, but a timeout.
Is 418 I'm a teapot real?
Yes — RFC 2324 (April 1, 1998) defined the Hyper Text Coffee Pot Control Protocol, and 418 survived as the internet's favourite easter egg. Some real frameworks ship it.