HTTP Status Codes Reference
HTTP status codes are three-digit numbers returned by a web server to indicate the result of a client's request. They are grouped into five classes: 1xx informational responses, 2xx success codes, 3xx redirections, 4xx client errors, and 5xx server errors. Understanding these codes is essential for debugging APIs, web applications, and network requests.
This reference covers all commonly used HTTP status codes defined in RFC 9110 and related specifications. Use the search box to instantly filter codes by number or keyword — useful when diagnosing issues from server logs, browser developer tools, or API responses.
How it works
HTTP status codes follow a structured classification: 1xx = informational (request received, continuing), 2xx = success (request received, understood, accepted), 3xx = redirection (further action required), 4xx = client error (request has bad syntax or cannot be fulfilled), 5xx = server error (server failed to fulfill a valid request).
Use cases
- Debugging REST API responses and understanding error messages
- Configuring web server redirects (301, 302, 307, 308)
- Diagnosing authentication and authorization failures (401, 403)
- Identifying rate limiting and capacity issues in production (429, 503)
- Building HTTP clients and handling specific response scenarios programmatically
Frequently asked questions
What is the difference between a 401 and a 403 error?
A 401 Unauthorized means the request lacks valid authentication credentials — the server does not know who you are, and logging in may fix it. A 403 Forbidden means the server knows who you are but refuses to grant access to that resource. In short: 401 is an authentication problem, 403 is an authorization problem.
What does a 500 Internal Server Error mean?
A 500 error indicates the server encountered an unexpected condition while processing a valid request — typically an unhandled exception, a misconfiguration, or a crashed backend dependency. It is a generic server-side failure, so the fix lies with the site or API operator, not the client. Checking server logs is usually the first debugging step.
What is the difference between 301 and 302 redirects?
A 301 Moved Permanently tells clients and search engines the resource has a new permanent URL, so browsers cache it and search engines transfer ranking signals. A 302 Found signals a temporary move, so the original URL should keep being used in the future. For SEO, use 301 for permanent URL changes and 302 only for genuinely temporary situations.
Why am I getting a 429 Too Many Requests error?
A 429 means you have exceeded the rate limit the server allows for your client, API key, or IP address within a time window. Many APIs include a Retry-After header telling you how long to wait before retrying. The usual fixes are adding delays between requests, implementing exponential backoff, or requesting a higher rate limit.
What is the difference between 502, 503, and 504 errors?
All three are server-side errors commonly seen behind proxies and load balancers. A 502 Bad Gateway means an upstream server returned an invalid response, a 503 Service Unavailable means the server is temporarily overloaded or down for maintenance, and a 504 Gateway Timeout means an upstream server took too long to respond. They usually indicate infrastructure problems rather than an issue with your request.