2016-04-25 46 views

回答

15

根據瀏覽器的實現情況,瀏覽器在使用HTTP/1.1時強加了6-8個連接的每個域的限制。 這允許每個域最多6-8個併發請求。

使用HTTP/2,瀏覽器每個域只能打開1個連接。然而,由於HTTP/2協議的複用功能,每個域的併發請求數不限於6-8,但它幾乎是,不受限制地爲

這是幾乎無限的,即瀏覽器和服務器會限制通過HTTP/2 configuration parameterSETTINGS_MAX_CONCURRENT_STREAMS併發請求數。

典型限制大約爲100(Firefox的默認值爲network.http.spdy.default-concurrent - 請注意這裏的spdy名稱:它是HTTP/2協議的協議祖先),但根據瀏覽器可能會更大(或更小,通常較小)實施和您連接到的服務器上。

預計這些限制隨着HTTP/2的發展和更廣泛的使用而發生變化(與HTTP/1.1發生的方式相同:瀏覽器從2個連接開始,最終在6-8之後結束多年的使用,經驗和調整)。

我不認爲瀏覽器如何處理正常瀏覽的連接數量和併發請求以及XHR的使用情況,因此上面的解釋也適用於XHR。

+2

客戶端和服務器都可以指定'SETTINGS_MAX_CONCURRENT_STREAMS'。如果客戶端爲服務器指定了一個值,則表示服務器能夠推送多少資源的限制。如果服務器將值指定給客戶端,則表示客戶端可以請求的項目數。我不確定Firefox是否只使用'network.http.spdy.default-concurrent'來指定服務器的限制,或者限制它的請求爲同一個值。 – gapple

相關問題