IE8 HTTP连接数目的变化

06-23

国际标准RFC 2616(http://www.w3.org/Protocols/rfc2616/rfc2616.html)规定,客户端向服务器发起的并发HTTP连接数目应该有个上限。 如果是HTTP1.1连接, 最多不应该超过2个并发连接。

“Clients that use persistent connections SHOULD limit the number of simultaneous connections that they maintain to a given server. A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy.”

在IE7以及更早版本的IE中,IE严格遵守该限制, HTTP 1.0并发连接上限为4, HTTP 1.1的并发连接上限为2。 同时,IE用户自定义连接上限数目(通过修改注册表), 网上已经有不少技术文章介绍用该方法来加速IE浏览。

连接上限的注册表设置为:

[HKEY_CURRRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings]

DWORD:MaxConnectionsPerServer (HTTP 1.1的连接上限)

DWORD:MaxConnectionsPer1_0Server (HTTP 1.0的连接上限)

但是RFC 2616 已经有十年没有更新,而近些年服务器硬件飞速发展,该连接数目限制显得过时了。 于是各个浏览器产商都开始调整该数字。 IE8 里面也做了更新。 IE8中, HTTP 1.0并发连接上限为6, HTTP 1.1的并发连接上限为6。 但是如果用户是拨号上网的话,IE8仍然会使用旧的连接限制。

另外,注册表设置也有所变动,IE8中连接上限设置改在:

(HTTP 1.1的连接上限)

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer/MAIN/FeatureControl/FEATURE_MAXCONNECTIONSPERSERVER]

DWORD: iexplore.exe

(HTTP 1.0的连接上限)

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer/MAIN/FeatureControl/FEATURE_MAXCONNECTIONSPER1_0SERVER]

DWORD: iexplore.exe