HTTP Status Code Explorer
Search HTTP response status codes by number, name, or meaning, then read the protocol semantics behind redirects, authentication, caching, rate limits, gateways, and server failures.
Search for 404, Not Found, redirect, authentication, cache, WebDAV, or another concept.
Bundled entries
64
Regular registrations
60
Temporary
104
Unused / obsolete
306, 418, 510
Status Code Result
The result describes standardized semantics, not how a particular framework or vendor chooses to use a non-standard code.
Enter a registered code, status name, or concept to see its HTTP semantics.
The Number Is Only the Start of the Diagnosis
A status code describes the result of an HTTP request, but it rarely explains the whole failure by itself. The request method, response fields, cache validators, authentication challenge, redirect target, retry guidance, and any gateway or upstream relationship can all change what the response means operationally.
The first digit gives the response class. RFC 9110 requires clients to understand that class even when they do not recognize the exact code. An unknown 471, for example, is handled like a generic 400-class response rather than being given a made-up meaning.
301, 302, 303, 307, and 308 Are Not Interchangeable
301 Moved Permanently → permanent; historical clients can rewrite POST 302 Found → temporary; historical clients can rewrite POST 303 See Other → follow another URI using GET or HEAD semantics 307 Temporary Redirect → temporary and method-preserving 308 Permanent Redirect → permanent and method-preserving 304 Not Modified → cache validation, not an ordinary redirect
A redirect investigation therefore needs both the status and the Location field. Method preservation matters especially for non-GET requests where silently turning a POST into a GET can change application behavior.
401 and 403 Point to Different Problems
401 Unauthorized is an authentication response: the request lacks valid credentials and the response carries an authentication challenge. 403 Forbidden means the server understood the request but refuses to fulfill it. Sending a different password or token does not automatically turn a 403 into an allowed request.
Similar distinctions matter elsewhere. 429 describes a rate policy, while 503 describes temporary server unavailability. 502 is an invalid upstream response;504 is an upstream timeout. Reading those pairs correctly often tells you which layer to inspect next.
Status 104 Is Still Temporary
IANA currently lists 104 Upload Resumption Supported as a temporary registration that expires on 13 November 2026 unless it is extended or made permanent. Code that depends on 104 should therefore check the live registry rather than assuming the current registration is permanent.
The live IANA HTTP Status Code Registry is the authority for assigned, temporary, unused, and obsoleted values. The general status semantics are defined in RFC 9110.
Unassigned and Vendor-Specific Codes Need Context
A three-digit value between 100 and 599 can be syntactically valid without having a registered meaning. Products sometimes use such values internally, but that does not make them portable HTTP semantics. When an unfamiliar code appears in logs, keep the response class in mind and then check the software that generated it.
Codes 306 and 418 are currently listed as unused, while 510 is retained as obsoleted. Those labels are different from “unassigned”: an unused or historical value has an explicit registry history.
A Local Reference Cannot Explain a Live Response
The search is performed against bundled status data in the browser. No URL is requested, no redirect is followed, and no response headers are fetched. If the question is why a particular server returned a code, inspect the real request and response alongside application, proxy, CDN, or upstream logs.
