Why HTTP Status Codes Start With 1, 2, 3, 4 or 5
Published 2026-09-14
A deliberate, decades-old classification system
HTTP status codes have been grouped by their first digit since the earliest HTTP specifications, precisely so a client can understand the general nature of a response without needing to recognize every individual code. This is why a client can safely assume "something client-side went wrong" for any unrecognized 4xx code, even one added to the spec years later.
What each range signals
- 1xx (Informational): the request was received and processing continues.
- 2xx (Success): the request was received, understood and accepted.
- 3xx (Redirection): further action is needed to complete the request, usually following a different URL.
- 4xx (Client Error): the request itself has a problem — bad syntax, missing authentication, a nonexistent resource.
- 5xx (Server Error): the request looked fine, but the server failed to fulfill it.
Why this matters for debugging
Seeing a 5xx code immediately tells you to look at server-side logs and infrastructure, not your request payload; seeing a 4xx code tells you the opposite — check what you sent before assuming the server is broken. This first-digit triage is often the fastest first step when debugging an unfamiliar API integration, well before looking up the exact meaning of the specific code.
Try it yourself
Our HTTP Status Code Reference is a searchable list of the standard codes across all five ranges, with what each one actually means.