Enable the HTTP Keep-Alive Response Header (IIS 7)

Applies To: Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Vista

The HTTP keep-alive response header improves Web server performance by keeping a client/server connection open across multiple requests to the server. The open connection improves performance when a client makes multiple requests for Web page content, because the server can return the content for each request more quickly. Otherwise, the server has to open a new connection for every request. By default, the HTTP keep-alive response header is enabled in IISĀ 7.

Note

You must enable the HTTP keep-alive response header when you use integrated security or connection-based authentication services, such as Integrated Windows authentication.

Prerequisites

For information about the levels at which you can perform this procedure, and the modules, handlers, and permissions that are required to perform this procedure, see HTTP Response Headers Feature Requirements (IIS 7).

Exceptions to feature requirements

  • None

To enable the HTTP keep-alive response header

You can perform this procedure by using the user interface (UI), by running Appcmd.exe commands in a command-line window, by editing configuration files directly, or by writing WMI scripts.

User Interface

To use the UI

  1. Open IIS Manager and navigate to the level you want to manage. For information about opening IIS Manager, see Open IIS Manager (IIS 7). For information about navigating to locations in the UI, see Navigation in IIS Manager (IIS 7).

  2. In Features View, double-click HTTP Response Headers.

  3. On the HTTP Response Headers page, in the Actions pane, click Set Common Headers.

  4. In the Set Common HTTP Response Headers dialog box, select the Enable HTTP keep-alive check box and then click OK.

Command Line

To enable the HTTP keep-alive header, use the following syntax:

appcmd set config /section:httpProtocol /allowKeepAlive:true | false

By default, the HTTP keep-alive header is enabled, but you can disable it by setting allowKeepAlive to false. For example, to disable the HTTP keep-alive header, type the following at the command prompt, and then press ENTER:

appcmd set config /section:httpProtocol /allowKeepAlive:false

For more information about Appcmd.exe, see Appcmd.exe (IIS 7).

Configuration

The procedure in this topic affects the following configuration elements:

allowKeepAlive attribute of the <httpProtocol> configuration element

For more information about IISĀ 7 configuration, see IIS 7.0: IIS Settings Schema on MSDN.

WMI

Use the following WMI classes, methods, or properties to perform this procedure:

  • HTTPProtocolSection.AllowKeepAlive property

For more information about WMI and IIS, see Windows Management Instrumentation (WMI) in IIS 7. For more information about the classes, methods, or properties associated with this procedure, see the IIS WMI Provider Reference on the MSDN site.

See Also

Concepts

Configuring HTTP Response Headers in IIS 7