HTTP Status Codes in IIS 6.0

Applies To: Windows Server 2003, Windows Server 2003 with SP1

HTTP status codes provide the best information about what is happening with IIS. On an active Web server, HTTP status codes provide a continuous feed of up-to-the-moment information about the activity and health of the server.

Most HTTP status codes have three digits, for example, 401. Some status codes have three digits followed by a decimal point, and one or two more digits (for example, 300.12). In such a case, the number that follows the decimal point is called the substatus code.

Codes within each hundred-number range provide specific types of information, as summarized in Table 11.2   HTTP Status Codes.

Table 11.2 HTTP Status Codes

Status Code Range Type of Code

100

Informational

200

Successful

300

Redirection

400

Client Error

500

Server Error

As an administrator, at some point you will inevitably need to determine which HTTP status codes are being returned by IIS. There are a number of ways to do this. Your choice of method depends on the amount of information that you need and the type of problem that you are troubleshooting. If you have a problem that is limited to one or a few clients, viewing the status codes from the clients Web browser or issuing a reproduced HTTP request with WFetch might best serve your needs. However, if you need to look for an individual request or for a collection of multiple requests over a period of time, you should examine the IIS logs. Viewing IIS logs allows you to see not only the main HTTP status code, but the Win32 error code and the HTTP substatus code (if logging is configured to do so). The Win32 error codes and the HTTP substatus codes often contain information that is critical to your troubleshooting effort.

The following sections describe the HTTP status codes and provide troubleshooting suggestions.