Internet Information Services
The following sections describe how to customize Internet Information Services (IIS) 6.0. The section “Configuring Http.sys” describes settings for customizing Http.sys. The section “Using Incremental Site ID Numbers” describes customizing IIS to use incremental site identification numbers.
Configuring Http.sys
In Windows Server 2003, Http.sys is the kernel mode driver that handles HTTP requests. Several registry values can be configured according to specific requirements. Table 6-3 describes the settings that you can configure in the key HKLM\System\CurrentControlSet\Services\HTTP\Parameters. All of these values are REG_DWORD values.
CAUTION
Microsoft considers customizing the values MaxConnections, MaxEndpoints, MaxFieldLength, MaxRequestBytes, UrlSegmentMaxCount, UriMaxUriBytes, UriScavengerPeriod, and UrlSegmentMaxLength to be very risky. Test your changes in a safe environment before introducing them into a production environment.
Name | Value | Range | Description |
AllowRestrictedChars | 0 | Boolean | If the value is non-zero, Http.sys accepts hex- escaped chars in request URLs that decode to U+0000–U+001F and U+007F–U+009F ranges. |
EnableNonUTF8 | 1 | Boolean | If the value is 0, Http.sys accepts only UTF-8-encoded URLs. If non-zero, Http.sys also accepts ANSI- or DBCS-encoded URLs in requests. |
FavorUTF8 | 1 | Boolean | If the value is non-zero, Http.sys always tries to decode a URL as UTF-8 first; if that conversion fails and EnableNonUTF8 is non- zero, Http.sys then tries to decode the URL as ANSI or DBCS. If the value is 0 (and EnableNonUTF8 is non- zero), Http.sys tries to decode the URL as ANSI or DBCS; if that is not successful, it tries a UTF-8 conversion. |
MaxConnections | MAX_ULONG | 1024–2031616 (connections) | This value overrides the MaxConnections calculation in the driver. This is primarily a function of memory. |
MaxEndpoints | 0 | 0–1024 | This value represents the maximum number of current end point objects that are permitted. The default value of zero implies that the maximum is computed from available memory. |
MaxFieldLength | 16384 | 64–65534 (bytes) | This value sets an upper limit for each header. See MaxRequestBytes. |
MaxRequestBytes | 16384 | 256–16777216 (bytes) | This value determines the upper limit for the total size of the Request line and the headers. |
MaxFieldLength | 16384 | 64–65534 (bytes) | This value sets an upper limit for each header. |
PercentUAllowed | 1 | Boolean | If the value is non-zero, Http.sys accepts the %uNNNN notation in request URLs. |
UrlSegment-MaxCount | 255 | 0–16383 (segments) | This value represents the maximum number of URL path segments. If the value is 0, the count is bounded by the maximum value of a ULONG. |
UriEnableCache | 1 | Boolean | If the value is non-zero, the Http.sys response and fragment cache is enabled. |
UriMaxUriBytes | 262144 (bytes) | 4096–16777216 (bytes) | Any response that is greater than this value is not cached in the kernel response cache. |
UriScavenger-Period | 120 (seconds) | 10–0xFFFFFFFF (seconds) | This value determines the frequency of the cache scavenger. Any response or fragment that has not been accessed in the number of seconds equal to the value of UriScavengerPeriod is flushed. |
UrlSegment-MaxLength | 260 | 0–32766 (chars) | This value represents the maximum number of characters in a URL path segment (the area between the slashes in the URL). If zero, it is the length that is bounded by the maximum value of a ULONG. |
Using Incremental Site ID Numbers
When you create a new Web site through the Internet Information Services (IIS) Manager in IIS 6.0, an identification number for that site is automatically generated and stored in the metabase. The identification number is based on the name of the Web site. In earlier versions of IIS, the Web site identification numbers were incremental. The new design ensures that all IIS 6.0 servers in a Web farm have a good chance of generating the same site identification numbers for sites with the same name. To use incremental site identification numbers, set the REG_DWORD value IncrementalSiteIDCreation to 0x01 in the key HKLM\SOFTWARE\Microsoft\InetMgr\Parameters. Create the value if it does not already exist.