Recommended Free Tools
An HTTP status code is a three-digit number in a response that describes the result of a request and the meaning of the response, including whether it succeeded and what content it contains. Valid codes run from 100 through 599. Read the first digit first: it identifies the code’s broad class, while the specific code determines what happened.
The five HTTP status-code classes
| Class | Standard meaning | How to read it |
|---|---|---|
| 1xx Informational | An interim response communicating connection status or request progress. | The exchange is continuing; this is not the final response. |
| 2xx Successful | The request was successfully received, understood, and accepted. | The request succeeded according to the particular code’s meaning. |
| 3xx Redirection | Further action is needed to complete the request. | The client may need to follow or otherwise act on the response. |
| 4xx Client Error | The request contains bad syntax or cannot be fulfilled. | The request has a client-error condition as defined by the specific code; this does not automatically assign personal blame. |
| 5xx Server Error | The server failed to fulfill an apparently valid request. | The server encountered a failure or cannot perform the request. |
These definitions come from RFC 9110, HTTP Semantics. A class is a useful first clue, not a complete diagnosis: individual code definitions and the request context determine the actual behavior.
| # | 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.
Common codes and what they mean
Information and success
- 100 Continue: The server has received the initial part of the request and has not rejected it. It intends to send a final response after receiving and acting on the complete request.
- 101 Switching Protocols: The server agrees to the requested protocol change using the Upgrade mechanism.
- 200 OK: The request succeeded. The precise meaning depends on the request method.
- 201 Created: The request was fulfilled and resulted in one or more new resources.
Redirection
- 301 Moved Permanently: The target resource has been assigned a new permanent URI.
- 302 Found: The target resource is temporarily available under a different URI.
Do not assume all 3xx responses behave alike. The specific code defines the redirect behavior, including relevant method handling.
Client and server errors
- 400 Bad Request: The server cannot or will not process the request because it perceives a client error, such as malformed syntax or invalid framing.
- 401 Unauthorized: The request was not applied because it lacks valid authentication credentials. The server must send a
WWW-Authenticatechallenge. - 403 Forbidden: The server understood the request but refuses to fulfill it.
- 404 Not Found: The origin server did not find a current representation for the target resource, or is unwilling to disclose that one exists.
- 500 Internal Server Error: The server encountered an unexpected condition that prevented it from fulfilling the request.
- 502 Bad Gateway: A server acting as a gateway or proxy received an invalid response from an inbound server it contacted while trying to fulfill the request.
- 503 Service Unavailable: The server is currently unable to handle the request, often because of temporary overload or scheduled maintenance that is likely to be alleviated after some delay.
How to interpret a status code correctly
- Start with the number, not the message. An error-page sentence or reason phrase may help explain a particular response, but it is not the full protocol definition.
- Use the exact code for the condition. A 4xx response has client-error semantics and a 5xx response has server-error semantics; neither label alone proves who caused an incident or what a person should do next.
- Treat 1xx as interim. Informational responses end at the end of the header section and cannot contain content or trailers. A client must be able to parse one or more 1xx responses before the final response.
- Check the current registry for less familiar codes. The IANA HTTP Status Code Registry lists registered codes, descriptions, and references. Its page was last updated 2025-09-15.
What happens when a client sees an unfamiliar code?
HTTP status codes are extensible, so a client does not have to understand every registered code. It must recognize the class from the first digit and treat an unrecognized code as equivalent to that class’s x00 code. For example, RFC 9110 says an unrecognized 471 can be processed as if it were 400.
#1 Best Overall
- Used Book in Good Condition
A status value outside the valid 100–599 range is invalid. RFC 9110 says a client receiving an invalid status code should process it as a 5xx response.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Where to find the complete list
The examples above are a selection, not an exhaustive catalogue. For registered codes and their references, consult the IANA registry. For the definitions and rules that govern how codes are interpreted, see the RFC Editor’s RFC 9110, published in June 2022.
Quick Recap
Best Value
Rank #4
Rank #3
Rank #2
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.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problems




