一個頁面從輸入 URL 到頁面載入顯示完成,這個過程中都發生了什麼?
阿新 • • 發佈:2021-07-12
一般會經歷以下幾個過程:
1、首先,在瀏覽器位址列中輸入url
2、瀏覽器先檢視瀏覽器快取-系統快取-路由器快取,如果快取中有,會直接在螢幕中顯示頁面內容。若沒有,則跳到第三步操作。
3、在傳送http請求前,需要域名解析(DNS解析),解析獲取相應的IP地址。
4、瀏覽器向伺服器發起tcp連線,與瀏覽器建立tcp三次握手。
5、握手成功後,瀏覽器向伺服器傳送http請求,請求資料包。
6、伺服器處理收到的請求,將資料返回至瀏覽器
7、瀏覽器收到HTTP響應
8、讀取頁面內容,瀏覽器渲染,解析html原始碼
9、生成Dom樹、解析css樣式、js互動
10、客戶端和伺服器互動
11、ajax查詢
其中,步驟2的具體過程是:
- 瀏覽器快取:瀏覽器會記錄DNS一段時間,因此,只是第一個地方解析DNS請求;
- 作業系統快取:如果在瀏覽器快取中不包含這個記錄,則會使系統呼叫作業系統,獲取作業系統的記錄(儲存最近的DNS查詢快取);
- 路由器快取:如果上述兩個步驟均不能成功獲取DNS記錄,繼續搜尋路由器快取;
- ISP快取:若上述均失敗,繼續向ISP搜尋。
轉載於:https://www.cnblogs.com/WaTa/p/5477374.html