What are HTTP status codes?HTTP status codes are three-digit responses from a server indicating the result of a client's request. They are standardized by the Internet Engineering Task Force (IETF) and are an essential part of every web request. Developers encounter them daily while debugging APIs, configuring servers, and building web applications.
Why use this reference? Instead of searching the web every time you encounter an unfamiliar status code, this reference provides instant lookups with clear descriptions for all 60+ standard HTTP status codes. Filter by category — informational (1xx), success (2xx), redirection (3xx), client error (4xx), or server error (5xx) — or search by code number or keyword.
Which status codes matter most? For most developers, the most frequently encountered codes are 200 (OK), 201 (Created), 204 (No Content), 301 (Moved Permanently), 304 (Not Modified), 400 (Bad Request), 401 (Unauthorized), 403 (Forbidden), 404 (Not Found), 429 (Too Many Requests), and 500 (Internal Server Error). Understanding these eleven codes covers the vast majority of HTTP interactions you will debug.
Use the search box above to find any status code instantly, or browse by category using the filter tabs. Click any code to copy it to your clipboard for use in documentation, error handling, or configuration.
Frequently Asked Questions
Q:What is the most common HTTP status code?
200 OK is the most common HTTP status code, used when a request succeeds. In terms of errors, 404 Not Found and 500 Internal Server Error are the most frequently encountered by users and developers alike.
Q:What is the difference between 401 Unauthorized and 403 Forbidden?
401 Unauthorized means the client must authenticate itself to get the requested response (no credentials or invalid credentials). 403 Forbidden means the client is authenticated but does not have permission to access the resource. With 403, authentication will not help — the client simply lacks authorization.
Q:When should I use 422 Unprocessable Entity vs 400 Bad Request?
Use 400 Bad Request for malformed syntax (invalid JSON, wrong data types). Use 422 Unprocessable Entity when the syntax is correct but the content is semantically invalid (e.g., a required field is missing, an email format is invalid, or a business rule is violated). 422 is more specific and widely used in REST APIs.
Q:What does 429 Too Many Requests mean and how should I handle it?
429 Too Many Requests indicates rate limiting. The server has temporarily blocked the client for exceeding the allowed number of requests within a time window. Clients should respect the Retry-After header (in seconds) and implement exponential backoff. For API consumers, track your request count and add delays between requests to avoid triggering rate limits.
Q:What is the difference between 301 and 308 permanent redirects?
301 Moved Permanently may change the HTTP method from POST/PUT to GET when following the redirect. 308 Permanent Redirect preserves the original HTTP method and body. For this reason, 308 is preferred for API endpoints that receive non-GET requests, while 301 is commonly used for web pages.