1. 程式人生 > 其它 >輸入url到顯示網頁的過程

輸入url到顯示網頁的過程

輸入url到顯示網頁的過程

簡要概括:

       瀏覽器將 URL 交給 DNS 域名解析,找到真實 IP ,向伺服器發起請求;

       伺服器將請求交給後臺處理完成後返回資料,瀏覽器就收檔案(HTML、JS、CSS、影象等);

       瀏覽器對載入到的資源(HTML、JS、CSS 等)進行語法解析,建立相應的內部資料結構(如 HTML 的 DOM);

       載入解析到的資原始檔、渲染頁面,完成。

DNS域名解析:

DNS域名系統,因特網上作為域名和IP地址相互對映分散式資料庫。說白了DNS就是充當域名和IP地址之間翻譯官的角色,把域名(網址)翻譯成對應的IP地址,俗稱域名解析。說說怎麼解析:

  1> 首先客戶端檢查本地是否有對應的IP地址,檢視本地磁碟的hosts檔案,看是否有對應的IP地址,有那就直接使用檔案給到的IP地址,如若沒有,那就接著看。

  2> 瀏覽器會發送一個DNS請求到本地的DNS伺服器(例如中國電信啊,移動啊,這些網路提供商提供的)本地的DNS伺服器收到請求後,先查詢它的快取記錄,快取中有要找的記錄,那麼返回IP地址,如果沒有要找的記錄,那麼本地DNS伺服器會向根伺服器進行查詢(遞迴查詢)。

  查詢方式例如: .com -> baidu.com. -> www.baidu.com.

  3> 如果根域伺服器沒有查到域名和IP的對應結果。它會返回來告訴本地DNS伺服器你可以去域伺服器(例如.com.伺服器)上接著找了,順帶給出你要找的域伺服器的地址(迭代查詢)。然後本地伺服器再次向域伺服器傳送查詢請求,如果域伺服器有域名和IP的對應關係,那麼,域伺服器才不會給你返回結果!它會告訴你你所需要域名解析的伺服器的地址。

  4> 本地伺服器再次向域名解析伺服器發出請求,這時拿到對應的結果,它不僅會把IP地址返回給客戶機,而且會把這一結果儲存在快取中,便於下次查詢使用(這裡有個大概念,DNS快取,屬於DNS優化範疇)。