簡述從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搜索。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章