|
Tweaking IE - 10 Connections per Server |
|
IE conforms to the HTTP 1.1 spec, which requires that clients cant have more than two active connections to a site at any one time.. This means that your third request (say you are downloading two files, and click to browse for a third) will be "on-hold" until one of your two existing connections close.
Wininet.dll limits connections to a single HTTP 1.0 server to four simultaneous connections. Connections to a single HTTP 1.1 server are limited to two simultaneous connections. The HTTP 1.1 specification (RFC 2068) mandates the two-connection limit. The four-connection limit for HTTP 1.0 servers is a self-imposed restriction that coincides with the standard that is used by several popular Web browsers.
In Internet Explorer 5 and later, you can change the connection limit programmatically by calling the InternetSetOption function on a null handle with the following flags (note that this changes the connection limit for the whole process):
INTERNET_OPTION_MAX_CONNS_PER_SERVER
INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER
However, if a process has established a connection to a server, and you then change the connection limit by calling InternetSetOption, the change does not have any effect on additional connections on the same server. This behavior occurs even if you disconnect the previous connection before you call InternetSetOption.
I have been using a simple registry hack since my Windows 2000 days, when I first came across this limitation (not sure if it existed in windows 9x, I think I probably never ran into the 4 connection limit)...
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings]
"MaxConnectionsPerServer"=dword:0000000a
Above is the contents of the attached registry file, it will when run, set the max connections per server to 10 :)
No restart is required, this works on all windows versions (including Vista)
Dan
Attachment(s): 10_connections_per_server.reg