主流浏览器并发连接数
浏览器默认对同一域下的资源,只保持一定的连接数,会阻塞过多的连接。rfc2616建议不超过2个:
不同浏览器的默认值不一样,对于不同的HTTP协议其值也不一样。见下表。
浏览器 | HTTP 1.1 | HTTP 1.0 |
---|---|---|
IE 6,7 | 2 | 4 |
IE 8 | 6 | 6 |
Firefox 2 | 2 | 8 |
Firefox 3 | 6 | 6 |
Safari 3, 4 | 4 | 4 |
Chrome 1,2 | 6 | ? |
Chrome 3 | 4 | 4 |
Opera 9.63,10.00alpha | 4 | 4 |
总的来看,HTTP1.0下允许的连接数普遍大于HTTP1.1协议下的,是因为HTTP1.1是保持连接的,本身对同域下资源的获取就是优化的,且对资源的消耗要大于HTTP1.0。在rfc2616中说到,限制连接数的目的在于提高响应速度和避免拥塞。
IE: HTTP watch professional 可观察
FF: firebug 网络菜单中可观察
看到一些大网站采用独立域名或者二级域名来设置专门的图片服务器,其实有一部分原因就是为了增加并发连接数。至于使用独立域名还是二级域名的差别在于Cookie的影响,当使用和主站根域名相同的二级域名时,请求的同时也会捎带着传递主站根域名的Cookie,而使用和主站根域名不同的独立域名时,则不会受主站根域名Cookie的影响,所以带宽占用会更小一些。
Firefox下怎么调整单个主机下的并发数:
# about:config
network.http.max-connections : 30
network.http.max-connections-per-server : 15
network.http.max-persistent-connections-per-proxy : 8
network.http.max-persistent-connections-per-server: 6
需要说明的是HTTP1.1下以network.http.max-persistent-connections-per-server的指为准,这是因为HTTP1.1下缺省都是持久连接,反之如果是HTTP1.0,则以network.http.max-connections-per- server为准。
如果你使用TamperData检测一下,就能发现:
HTTP1.1下Connection: Keep-Alive
HTTP1.0下Connection: Close
一个测试并发速度的页面:
http://stevesouders.com/hpws/parallel-downloads.php