一個頁面從輸入URL到頁面加載顯示完成,這個過程都發生什么?


一般會經歷以下幾個過程:

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搜索。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM