從輸入url到頁面載入發生了什麼?

2021-10-19 23:33:36 字數 980 閱讀 2558

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

1、首先,在瀏覽器位址列中輸入url

2、瀏覽器先檢視瀏覽器快取-系統快取-路由器快取,如果快取中有,會直接在螢幕中顯示頁面內容。若沒有,則跳到第三步操作。

3、在傳送http請求前,需要網域名稱解析(dns解析),解析獲取相應的ip位址。

4、瀏覽器向伺服器發起tcp連線,與瀏覽器建立tcp三次握手。

5、握手成功後,瀏覽器向伺服器傳送http請求,請求資料報。

6、伺服器處理收到的請求,將資料返回至瀏覽器

7、瀏覽器收到http響應

8、讀取頁面內容,瀏覽器渲染,解析html原始碼

9、生成dom樹、解析css樣式、js互動

10、客戶端和伺服器互動

11、ajax查詢

12、連線結束(四次揮手)

注釋:步驟2的具體過程是:

步驟4的過程是:

.md的生成上圖的文字部分:

```sequence

客戶端->服務端:第一次握手(客戶端具有傳送資訊的能力):syn=1(請求建立連線),seq=n(序列號)

服務端->客戶端:第二次握手(服務端具有接受資訊和傳送資訊的能力):syn=1(同意建立連線),ack=n+1(確認收到資訊),seq=x(服務端序列號)

客戶端->服務端:第三次握手(客戶端具有接受資訊能力):syn=0(開發傳送資訊),ack=x+1(確認),seq=n+1

```

步驟12的過程是:

.md的生成上圖的文字部分:

```sequence

客戶端->服務端:第一次揮手(發完了)

服務端->客戶端:第二次揮手(知道發完了)

客戶端->服務端:第三次揮手(收完了)

服務端->客戶端:第四次揮手(知道收完了)

```

從輸入URL到頁面載入,發生了什麼

整理之前的筆記時,發現之前的掌握的東西尚差的太遠,就仔細查詢了這個問題。總體來說,可以分為一下幾個部分 1.dns解析 2.tcp連線 3.傳送http請求 4.伺服器處理請求並返回http報文 5.瀏覽器解析渲染頁面 6.連線結束 dns解析是將網域名稱轉換成ip的過程,從使用者在瀏覽器位址列輸入...

從輸入URL到頁面載入發生了什麼

最近在進行前端面試方面的一些準備,看了網上許多相關的文章,發現有乙個問題始終繞不開 在瀏覽器中輸入url到整個頁面顯示在使用者面前時這個過程中到底發生了什麼。仔細思考這個問題,發現確實很深,這個過程涉及到的東西很多。這個問題的回答真的能夠很好的考驗乙個web工程師的水平,於是我自問自答一番。總體來說...

從輸入URL到頁面載入發生了什麼

tcp連線 傳送http請求 伺服器處理請求並返回http報文 瀏覽器解析渲染頁面 連線結束 系統快取主要存在 etc hosts linux系統 中 http請求 2xx 成功 表示請求已被成功接收 理解 接受。3xx 重定向 要完成請求必須進行更進一步的操作。4xx 客戶端錯誤 請求有語法錯誤或...