Oh man, it actually took me 30mins to figure out where to configure this in IIS 7.0. Again, you will take sometimes for you to get familiar with the new IIS Manager UI in IIS 7 🙂
Now HTTP Keep-Alive is inside http spec to maintain open connections between client browser and web server, this can improve the overall performance rather than initiating new connection for new request, at the same time, keep-alive is needed for Windows authentication, etc.
In IIS 6, this setting is pretty expose 🙂 or at least easy to find as it is in web site tab everytime you look at the web site property. For IIS 7.0, you need to go to HTTP Response Header icon in Feature View pane, then click on Set Common Headers at the Action task pane. Take note that the UI interface only available for Windows 2008, this is one of the missing UI in Vista, hopefully this will fix in Vista SP1. By default, keep-alive is enabled.
For Vista, you can set it via AppCmd.exe. E.g. disabling keep-alive.
appcmd set config /section:httpProtocol /allowKeepAlive:false
Sigh, I only found out about this article via google while I was searching for keep-alive element name in the configuration file, should have google it before I even start to looking for it in the UI 🙂