Enabling HTTP Keep-Alives to Keep Connections Open
Updated: August 22, 2005
Applies To: Windows Server 2003, Windows Server 2003 with SP1
A browser typically makes multiple requests in order to download an entire Web page. To enhance server performance, most Web browsers request that the server keep the connection open across these multiple requests, which is a feature known as HTTP Keep-Alives.
Without HTTP Keep-Alives, a browser that makes numerous requests for a page containing multiple elements, such as graphics, might require a separate connection for each element. These additional requests and connections require extra server activity and resources, decreasing server efficiency. The additional connections also make a browser much slower and less responsive, especially across a slow connection.
HTTP Keep-Alives are enabled by default in IIS 6.0, which complies with the HTTP/1.1 specification for HTTP Keep-Alives. IIS holds open an inactive connection for as long as the ConnectionTimeout metabase property specifies (the default value is 120 seconds).
If you disable HTTP Keep-Alives, the server ignores a clients request to keep the connection open. Therefore, disable HTTP Keep-Alives only for a specific reason and if you clearly understand how this change affects your server.
HTTP Keep-Alives are required for integrated security or connection-based authentication services, such as Integrated Windows authentication. If you disable HTTP Keep-Alives for Web sites that use Integrated Windows authentication, requests to the Web site may fail.
To verify that your server is running with HTTP Keep-Alives enabled, or to enable HTTP Keep-Alives if this feature is disabled, see Enabling HTTP Keep-Alives.