HTTP “return codes,” more formally called HTTP status codes, are three-digit numbers in a server’s response that describe the result of a request and the meaning of the response. Their first digit identifies one of five broad classes: informational, successful, redirection, client error, or server error. The exact code, response content, and headers explain what happened and what to do next.
What do HTTP return codes mean?
A status code is part of an HTTP response. It describes the request’s outcome and the semantics of the response, including whether the request succeeded and what content is included. RFC 9110, the IETF’s HTTP Semantics standard published in June 2022, defines status codes as three-digit integers from 100 through 599.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
High Performance Browser Networking: What every web developer should know about networking and web... | $30.87 | Buy on Amazon |
| 2 |
|
Learning HTTP/2: A Practical Guide for Beginners | $18.11 | Buy on Amazon |
| 3 |
|
HTTP: The Definitive Guide | $26.04 | Buy on Amazon |
| 4 |
|
HTTP Pocket Reference: Hypertext Transfer Protocol | $6.94 | Buy on Amazon |
| 5 |
|
HTTP/2 in Action | $42.73 | Buy on Amazon |
As an Amazon Associate I earn from qualifying purchases.
The number is useful shorthand, but it is not the whole response. The specific code, the request method, response headers, and any response content can all affect what the result means. Error responses often include content explaining the condition or a possible resolution.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →What do the five HTTP status-code classes mean?
| Range | Class | Practical meaning |
|---|---|---|
| 1xx | Informational | An interim response reports progress; the requested action is not yet complete. |
| 2xx | Successful | The request was received, understood, and accepted. |
| 3xx | Redirection | Further action is needed to complete the request, often by following a redirect. |
| 4xx | Client Error | The server considers the request to have a client-side problem or otherwise cannot fulfill it. |
| 5xx | Server Error | The server failed to fulfill an apparently valid request. |
The first digit establishes the class; the last two digits do not define additional classes. A 4xx response does not necessarily prove that a person made a mistake, and a 5xx response does not by itself prove that the origin server alone caused the failure. Intermediaries and application context can affect what a client sees.
#1 Best Overall
- Used Book in Good Condition
What is the difference between 4xx and 5xx?
A 4xx status says the server perceives a problem with the request or cannot fulfill it because of a client-side condition. A 5xx status says the server could not fulfill a request that appeared valid. The distinction is a broad diagnostic clue, not a complete fault investigation: use the exact code and response details to determine the condition.
How do interim and final responses work?
A request can receive zero or more interim 1xx responses, followed by exactly one final response from another class. An informational response communicates connection status or progress before the requested action is complete; it is not the final result of the request.
Rank #2
Common HTTP status codes and what they mean
Informational and successful responses
- 100 Continue: The initial part of the request arrived and was not rejected. The server intends to send a final response after it receives and acts on the complete request.
- 200 OK: The request succeeded. What the response content represents depends on the request method.
- 201 Created: The request succeeded and resulted in one or more new resources.
- 202 Accepted: The request was accepted for processing, but processing is not complete. It may or may not ultimately be acted upon, so 202 does not guarantee completion.
- 204 No Content: The request succeeded, and there is no additional response content to send.
Redirection and cache validation
- 301 Moved Permanently and 302 Found: Both communicate redirection, but they differ in permanence and method-handling semantics. The precise behavior depends on the applicable HTTP rules and request method.
- 304 Not Modified: A conditional request indicates that a stored representation remains usable. This is a cache-validation result, not a generic failure, and it carries no response content.
Client-error responses
- 400 Bad Request: The server cannot or will not process the request because it perceives a client error, such as malformed syntax or invalid message framing.
- 401 Unauthorized: Valid authentication credentials for the target resource are missing, and the request was not applied. Despite the name, this is an authentication-related response; the server must send a
WWW-Authenticatechallenge. - 403 Forbidden: The server understood the request but refuses to fulfill it. Signing in or providing credentials does not necessarily resolve the refusal.
- 404 Not Found: The origin server has no current representation for the target resource, or is unwilling to disclose that one exists.
- 429 Too Many Requests: The client sent too many requests in a given amount of time. The response may include a
Retry-Afterheader.
Server-error responses
- 500 Internal Server Error: The server encountered an unexpected condition that prevented it from fulfilling the request.
- 503 Service Unavailable: The server is currently unable to handle the request, commonly because of temporary overload or maintenance. The response may include a
Retry-Afterheader.
What if an HTTP status code is unfamiliar?
A client must understand the first digit and treat an unknown status code as the corresponding x00 class code. RFC 9110 gives 471 as an example: a client that does not recognize it handles it like 400, within the client-error class. A value below 100 or above 599 is not a valid HTTP status code.
Free tools Windows power users keep installed
One-click scans. No signup required.
Do the words beside a status code define its meaning?
No. Text such as “Not Found” is a reason phrase: the standard treats these phrases as recommendations, and implementations may replace or omit them without changing protocol semantics. Interpret the numeric code and the response as a whole rather than relying only on the label displayed by a browser, server, or developer tool.
Rank #3
For the formal definitions of individual codes, see RFC 9110, Section 15: Status Codes.
Quick Recap
Best Value
Rank #4
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




