如图,用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: Closephp