主流浏覽器并發連接配接數
浏覽器預設對同一域下的資源,隻保持一定的連接配接數,會阻塞過多的連接配接。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