HTTP Status Code Reference
HTTP Status Code Lookup for Developers
Find HTTP status code meanings, root causes, and practical fixes — across redirects, client errors, and server failures. Definitions derived from the IANA HTTP Status Code Registry and IETF RFC specifications.
Browse by Category
What Are HTTP Status Codes?
Every HTTP response carries a three-digit status code. The code tells the client whether the request succeeded, failed, needs to be redirected, or encountered an error. Status codes are grouped into five classes by their first digit: 1xx for informational interim responses, 2xx for success, 3xx for redirects, 4xx for client-side errors, and 5xx for server-side errors.
The codes are standardized by the Internet Assigned Numbers Authority (IANA) and defined in a series of IETF RFCs, primarily RFC 9110 (the current HTTP semantics specification, which obsoletes the 2014 RFC 7230–7235 series). Additional codes are defined in extension RFCs for WebDAV (RFC 4918), rate limiting (RFC 6585), and specialized protocols.
Understanding status codes matters for debugging, API design, SEO, and building robust client applications. A 301 and a 302 look similar but have very different effects on search engine indexing. A 401 and a 403 are often confused but require different client responses. A 502 and a 503 have different root causes and different implications for incident response.
Most Referenced Status Codes
Common Confusions: Side-by-Side Comparisons
Some status codes are frequently confused with each other because they sound similar or cover adjacent scenarios. These comparisons explain the exact distinction:
In-Depth Guides
Human-readable explanations built on IANA registry definitions and IETF RFC specifications, with code examples for common server frameworks.
How to Read a Status Code
The first digit of a status code defines the class of response. Within each class, individual codes carry more specific meaning:
1xx (Informational): The request was received and the server is continuing the process. These are interim responses — a final 2xx, 3xx, 4xx, or 5xx will follow. Most developers rarely see 1xx codes in practice; they operate at the protocol level. The most significant are 100 Continue (body upload pre-authorization) and 103 Early Hints (resource preloading).
2xx (Success): The request was successfully received, understood, and accepted. 200 is the default; more specific codes like 201 (created), 204 (no content), and 206 (partial content) communicate additional meaning that clients and caches can act on.
3xx (Redirection): Further action is needed to complete the request. Usually this is following a redirect to a new URL (301, 302, 307, 308) or using a cached copy (304). The Location header specifies the redirect target.
4xx (Client Error): The request contains an error the client is responsible for: bad syntax (400), missing credentials (401), insufficient permissions (403), non-existent resource (404), wrong method (405), or rate limiting (429). The client must fix the request before retrying.
5xx (Server Error): The server failed to fulfill a valid request. The error is on the server side. Most 5xx errors are retryable; the client should wait and retry after a backoff period. Server operators should monitor and alert on 5xx rates.
Platform & Edge Errors
Several vendor-specific codes appear in production logs that are not part of the official HTTP standard but are widely encountered: