The term “HTTP status code” is actually the common term for the HTTP status line that includes both the HTTP status code and the HTTP reason phrase. For example, the HTTP status line 500: Internal Server Error is made up of the HTTP status code of 500 and the HTTP reason phrase of Internal Server Error. Five categories of HTTP status code errors exist; these are the two major groups:
4xx Client Error
This group includes those where the request for a web page or other resource contains bad syntax or cannot be filled for some other reason, presumably by the fault of the client (the web surfer). Some common client error HTTP status codes include 404 (Not Found), 403 (Forbidden), and 400 (Bad Request).
5xx Server Error
This group includes those where the request for a web page or other resource is understood by the website’s server, but is incapable of filling it for some reason. Some common ones include the ever-popular 500 (Internal Server Error), along with 504 (Gateway Timeout), 503 (Service Unavailable), and 502 (Bad Gateway).
More Information on HTTP Status Codes
Other HTTP status codes exist in addition to 4xx and 5xx codes. There are also 1xx, 2xx, and 3xx codes that are informational, confirm success or dictate a redirection, respectively. These additional types aren’t errors, so you shouldn’t be alerted about them in the browser. See a complete list of errors on our HTTP Status Code Errors page, or see all of these HTTP status lines (1xx, 2xx, and 3xx) in our HTTP status lines piece. IANA’s Hypertext Transfer Protocol (HTTP) Status Code Registry page is the official source for HTTP status codes, but Windows sometimes includes additional, more specific errors that explain additional information. For example, while the code of 500 means Internet Server Error, Microsoft Internet Information Services (ISS) uses 500.15 to mean Direct requests for Global.aspx are not allowed. Here are a few more examples:
404.13 has the HTTP reason phrase of Content length too large.500.53 means A rewrite error occurred during RQ_RELEASE_REQUEST_STATE notification handling. An outbound rule execution error occurred. The rule is configured to be executed before the output user cache gets updated.502.3 means Bad Gateway: Forwarder Connection Error (ARR).
These so-called sub-codes generated by Microsoft ISS don’t replace HTTP status codes, but instead are found in various areas of Windows, like documentation files.
Not All Error Codes Are Related
An HTTP status code isn’t the same as a Device Manager error code or a system error code. Some system error codes share code numbers with HTTP status codes, but they’re different errors with completely different associated error messages and meanings. For example, the HTTP status code 403.2 means Read access forbidden. However, there’s also a system error code 403 that means The process is not in background processing mode. Similarly, the 500 status code that means Internet Server Error could easily be confused for a system error code 500 that means User profile cannot be loaded. However, these aren’t related and shouldn’t be treated similarly. One displays in a web browser and explains an error message about the client or server, while the other shows up elsewhere in Windows and doesn’t necessarily involve the web browser at all. If you’re having trouble identifying whether the error code you see is an HTTP status code, look carefully at where the message is seen. If you see an error in your web browser, on the web page, it’s an HTTP response code. Other error messages should be addressed separately based on the context in which they’re seen: Device Manager error codes are seen in Device Manager, system error codes are displayed throughout Windows, POST codes are given during the Power On Self Test, game/app-specific errors are relevant for those respective programs, etc.