INF: Http.sys Registry Settings for IIS (820129)



The information in this article applies to:

  • Microsoft Internet Information Services version 6.0



IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SUMMARY

In Microsoft Windows Server 2003, Http.sys is the kernel mode driver that handles HTTP requests. Several registry values can be configured according to specific requirements. The table in the "More Information" section contains the following information about these registry values:
  • Registry key names
  • Default values
  • Valid value ranges
  • Registry key functions
  • WARNING codes (where appropriate)
Note See the "WARNING Codes" section for information about potential risks when you create and configure registry values by using settings other than the default settings.

This article is intended for advanced users and assumes knowledge of the registry and of the risks that are involved when the registry is changed.

MORE INFORMATION

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.
You can create the following DWORD values under the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters key:
Registry KeyDefault ValueValid Value RangeRegistry Key FunctionWARNING Code
AllowRestrictedChars0BooleanIf non-zero, Http.sys accepts hex-escaped chars in request URLs that decode to U+0000 - U+001F and U+007F - U+009F ranges.0
EnableNonUTF81BooleanIf zero, Http.sys accepts only UTF-8-encoded URLs. If non-zero, Http.sys also accepts ANSI- or DBCS-encoded URLs in requests.0
FavorUTF81BooleanIf 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 it as ANSI or DBCS. If zero (and EnableNonUTF8 is non-zero), Http.sys tries to decode it as ANSI or DBCS; if that is not successful, it tries a UTF-8 conversion.0
MaxConnectionsMAX_ULONG1024(1k) - 2031616 (2MB) connectionsOverrides the MaxConnections calculation in the driver. This is primarily a function of memory.1
MaxEndpoints00 - 1024 The maximum number of current end point objects that are permitted. The default value of zero implies that the maximum is computed from available memory1
MaxFieldLength1638464 - 65534 (64k - 2) bytesSets an upper limit for each header. See MaxRequestBytes.1
MaxRequestBytes16384256 - 16777216 (16MB) bytesDetermines the upper limit for the total size of the Request line and the headers.
Its default setting is 16KB. If this value is lower than MaxFieldLength, the MaxFieldLength value is adjusted.
1
PercentUAllowed1BooleanIf non-zero, Http.sys accepts the %uNNNN notation in request URLs.0
UrlSegmentMaxCount2550 - 16,383 segments Maximum number of URL path segments. If zero, the count bounded by the maximum value of a ULONG.1
UriEnableCache1BooleanIf non-zero, the Http.sys response and fragment cache is enabled.0
UriMaxUriBytes262144 (bytes)4096(4k) - 16777216(16MB) bytes Any response that is greater than this value is not cached in the kernel response cache.1
3
UriScavengerPeriod120 (seconds)10 - 0xFFFFFFFF secondsDetermines the frequency of the cache scavenger. Any response or fragment that has not been accessed in the number of seconds equal to UriScavengerPeriod is flushed.1
2
UrlSegmentMaxLength 2600 - 32,766 chars 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.1

WARNING Codes

  • 0: No risks.
  • 1: Changing this registry key is considered extremely dangerous. This key causes Http.sys to use more memory and may increase vulnerability to malicious attacks.
  • 2: A low value may cause the cache to be flushed more frequently. If this behavior occurs, it may affect performance.
  • 3: A low value may affect performance for static content.

Modification Type:MajorLast Reviewed:6/17/2003
Keywords:kbinfo KB820129 kbAudDeveloper