如图,用firebug分析网页,发现连接处有很多阻挡,而且时间很长,在firebug的官方wiki中找到了 “阻挡” 的解释(内容来自http://getfirebug.com/wiki/index.php/Main_Page):
第一个 Blocking 翻译成中文解释为:
所花费的时间在浏览器中队列(前称为排队等待网络连接)SSL连接的,这包括SSL握手和OCSP验证步骤。即队列等待时间。浏览器的队列等待时间与浏览器的并发数有关,常见浏览器的并发数如下:
浏览器 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 例如Firefox3 对于一个主机(同一主机域名),一次性只能处理6个请求,而多余的请求则处于队列当中。
为了提高反问速度可以给网站加更多的域名,如京东就是采用更多的域名来提高并发
引用:http://hi.baidu.com/thinkinginlamp/blog/item/e6409313f6ae1c866438db4c.html
浏览器并发连接数IE7 2
IE8 6
Firefox2 2
Firefox3 6
看上去巧合的是:老版本的IE和Firefox都使用较低的单个主机并发连接数(2),而新版本的IE和Firefox都使用较高的单个主机并发连接数(6)。说起来老版本的IE和Firefox之所以采用较低的单个主机并发连接数是有道理的,在RFC2616里明确要求了单个主机并发连接数的数目:
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. A proxy SHOULD use up to 2*N connections to another
server or proxy, where N is the number of simultaneously active users.
These guidelines are intended to improve HTTP response times and avoid
congestion.
不过标准总会落后于现实。在当今的网络环境里再使用较低的单个主机并发连接数已经越来越显得不合时宜了,所以说新版本的IE和Firefox才会不约而同的采用较高的单个主机并发连接数。
不过很多时候我们为了效率还想得到更高的并发连接数,比如说我们总会看到一些大网站采用独立域名或者二级域名来设置专门的图片服务器,其实有一部分原因就是为了增加并发连接数。至于使用独立域名还是二级域名的差别在于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
转载于:https://my.oschina.net/u/872585/blog/896665