2014-04-30 47 views
0

我們有一個情況下,我們只有一臺服務器/ IP地址和幾個別名,如:並行化瀏覽器請求

127.0.0.1 
s1.domain.com 
s2.domain.com 
s3.domain.com 

多少並行連接做瀏覽器的別名支持?他們是否被視爲一臺服務器,因爲他們共享相同的IP,或者他們被視爲3,因爲他們擁有單獨的別名?

我們已經完成了測試,並且非常確定它們是分開處理的,但我們想要了解背後的事實/理論。

回答

1

瀏覽器支持那些別名有多少個並行連接?

這取決於browser

當HTTP/1.1在默認情況下啓用持續連接的情況下引入時,建議瀏覽器每個主機名僅打開兩個連接。由於資源是每次兩次下載的,所以加載緩慢的單個主機名具有10或20個資源的頁面。瀏覽器一直在增加每個主機名打開的連接數,例如,IE從IE7中的2增加到IE8中的6。此測試將測量爲測試的瀏覽器打開了多少個HTTP/1.1連接。

以上內容取自Browserscope站點「網絡」選項卡上的「每個主機名的連接數」標題列中的工具提示。另請參閱the HTTP spec中提到的內容。

區分是根據每個主機名而非IP進行的,因此「s1.domain.com」,「s2.domain.com」和「s3.domain.com」將分開處理。 At least that's the theory

這是由Steve Souders證實in a post

明白,這是在每個服務器的基礎是很重要的。使用多個域名(如1.mydomain.com,2.mydomain.com,3.mydomain.com等)可讓Web開發人員實現每個服務器連接限制的多倍。即使所有域名都是CNAME到相同的IP地址,這也是有效的。

因此,您應該期待與主機進行大約6-8個並行連接。這可以根據瀏覽器進行配置,但增加每個主機名稱的並行請求數量並不意味着更快的負載,因爲大量線程會在競爭有限資源(即CPU內核)時增加上下文切換和開銷的時間。

+0

然而,我們已經閱讀了定義,一位網絡專家告訴我們,基於別名進行區分是基本不可能的。但是,如果我們看f.e中的結果。 Firebug,我們清楚地看到它是基於它們的。 –

+0

@RaphaelJeger:網絡專家?這比網絡瀏覽器更像瀏覽器問題。閱讀關於這個主題的帖子,運行你的測試並得出你自己的結論... – Bogdan