HTTP Status Codes

Websites display status codes in response to errors

The number 400 written in black on a yellow sign
Public Domain, Link

HTTP status codes are standard response codes given by web site servers on the internet. The codes help identify the cause of the problem when a web page or other resource does not load properly.

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.

HTTP status codes are sometimes called browser error codes or internet error codes.

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 of HTTP status codes include those where the request for a web page or other resource contains bad syntax or cannot be filled for some other reason, presumably by 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 of HTTP status codes include 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 server error HTTP status codes include the ever popular 500 (Internal Server Error), along with 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 of HTTP status codes 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 What Are 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. You can find a whole list of these on Microsoft's website.

For example, while the HTTP status code of 500 means Internet Server Error, Microsoft Internet Information Services (ISS) uses 500.15 to mean that 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 do not 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 is not 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 are 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 are not related and should not 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 or not 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, etc.