2012-09-05 200 views
1

我在google中輸入了「通過瀏覽器呈現網頁」,我獲得了以下link。 根據此描述,通過分離的TCP套接字對與一個頁面連接的每個資源的HTTP請求進行。我一直認爲只有一個TCP套接字被建立,並且所有資源(圖像,CSS和JS文件)都通過此套接字發送。如果不夠清楚:在瀏覽器的地址欄中輸入www.example.com。假設該地址下的網頁有N張圖片和M CSS和JS文件。瀏覽器打開了多少個TCP套接字? 1 + N + M?瀏覽器呈現網頁

+0

這取決於一系列因素。沒有人回答。 –

+0

什麼樣的因素? – biera

+0

瀏覽器緩存的資源,這些靜態資源(圖像,JS,CSS)所在的不同域的數量,HTTP連接頭等。 –

回答

1

是HTTP是一種無狀態協議。每個頁面需要的資源都是由您的瀏覽器獨自下載的。這是HTML,Flash/Silverlight等,圖像,CSS,JS等。爲了優化加載時間,建議將所有css和所有js合併到一個文件中,以便在加載頁面所需的請求時減少ammount。

+0

我同意你HTTP是無狀態的。但是由於TCP不是我,雖然一個套接字足以獲得所有資源。 – biera