淺談在瀏覽器中輸入URL返回頁面的過程

小弟季義欽發表於2012-11-09

參考:http://zhan.renren.com/seochina?gid=3602888497994264527&checked=true

1 域名到IP地址的轉換:

·瀏覽器快取 – 瀏覽器會快取DNS記錄一段時間。 有趣的是,作業系統沒有告訴瀏覽器儲存DNS記錄的時間,這樣不同瀏覽器會儲存個自固定的一個時間(2分鐘到30分鐘不等)。
·系統快取 – 如果在瀏覽器快取裡沒有找到需要的記錄,瀏覽器會做一個系統呼叫(windows裡是gethostbyname)。這樣便可獲得系統快取中的記錄。
·路由器快取 – 接著,前面的查詢請求發向路由器,它一般會有自己的DNS快取。
·ISP DNS 快取 – 接下來要check的就是ISP快取DNS的伺服器。在這一般都能找到相應的快取記錄。
·遞迴搜尋 – 你的ISP的DNS伺服器從跟域名伺服器開始進行遞迴搜尋,從.com頂級域名伺服器到Facebook的域名伺服器。一般DNS伺服器的快取中會有.com域名伺服器中的域名,所以到頂級伺服器的匹配過程不是那麼必要了。

2 得到IP地址以後,瀏覽器像目標IP伺服器傳送一個http的GET請求,同時生成一個臨時埠來監聽響應伺服器的響應。

3 HTTP請求經過路由選擇到達伺服器,伺服器處理這個請求。

4 伺服器處理請求,就是解釋這個請求,然後生成對應的html響應。

5 瀏覽器通過剛才的臨時埠獲取到這個html響應,然後開始在瀏覽器中顯示這個html頁面。

注意,嵌入在html中的有很多物件,諸如css,js,圖片,flash等,每一個對應的資源,瀏覽器都會傳送一個http請求按照同樣的步驟向伺服器請求這些資源。

另外,即使顯示完成了所有頁面內容,瀏覽器和伺服器仍然保持聯絡,因為可能還有其他的一些ajax非同步傳輸請求會發生。

相關文章