瀏覽器輸入URL後發生了什麼

2021-08-20 07:12:45 字數 1490 閱讀 6428

我們經常在瀏覽器中輸入乙個**,但是在輸入這個**後,發生了什麼?今天我們來分析一下!

通常,在輸入乙個**後,發生的事情分為六步:dns網域名稱解析,tcp連線,http請求,接收響應結果,瀏覽器解析html,瀏覽器布局渲染。

1. 查詢網域名稱的ip位址

(1)url的格式

乙個url包括協議,網路位址,資源路徑;

(2)dns網域名稱解析

第一步:先在各種快取資訊中查詢

第二步:dns伺服器查詢

2. tcp連線

在知道對應的ip位址後,接下來我們就可以進行tcp連線請求了。tcp向伺服器端傳送syn連線請求,經過tcp三次連線成功後,瀏覽器就和伺服器端建立好連線了,就可以相互傳送資料了。

tcp三次連線可以參考

3. 瀏覽器發起web伺服器 http請求

根據http協議的要求,組織乙個http資料報,http請求的報頭有請求行和報文,請求行包括三部分,請求方法,url(伺服器上的資源),版本。報文有一些其他資訊,比如請求正文的有效載荷長度(content_length),快取資訊(cache_control),cookie等。

(1)常見的請求方法

(2)常見的http版本

有兩種,為http/1.1和http/1.0,http/1.1預設的連線方式為長連線(connection:keep-alive),而http/1.0預設的連線方式為短連線(connection:close)。

注:http報頭在結束時,會向下留下空行,這個空行也是將報頭和正文分開的依據。

4. http響應

在通過http請求服務後,伺服器會向瀏覽器返回乙個應答資訊——http響應。http響應的報頭包括三部分——版本,狀態碼,狀態碼描述。

常見的狀態和狀態碼

注:如果伺服器返回的響應資訊為3xx,此時要轉到第五步。

5. 瀏覽器跟蹤重定向位址

現在瀏覽器知道了真正要訪問的目標伺服器在**,便向此目標伺服器傳送和第三步相同的報文,請求響應。

6. 伺服器處理請求

伺服器接收到獲取請求,然後處理並返回乙個響應。

這表面上看起來是乙個順向的任務,但其實這中間發生了很多有意思的東西:

7. 瀏覽器解析html

8. 瀏覽器布局渲染

9. tcp斷開連線

在完成所有的工作後,客戶端就要傳送斷開連線請求了,tcp釋放連線需要四次揮手。

tcp四次揮手的工作可以參考

細說瀏覽器輸入URL後發生了什麼

1.dns網域名稱解析 2.建立tcp連線 3.傳送http請求 4.伺服器處理請求 5.返回響應結果 6.關閉tcp連線 7.瀏覽器解析html 8.瀏覽器布局渲染 總結 當我們在瀏覽器輸入 並回車後,一切從這裡開始。一 dns網域名稱解析 客戶端收到你輸入的網域名稱位址後,它首先去找本地的hos...

細說瀏覽器輸入URL後發生了什麼

本文摘要 1.dns網域名稱解析 2.建立tcp連線 3.傳送http請求 4.伺服器處理請求 5.返回響應結果 6.關閉tcp連線 7.瀏覽器解析html 8.瀏覽器布局渲染 總結 當我們在瀏覽器輸入 並回車後,一切從這裡開始。一 dns網域名稱解析 客戶端收到你輸入的網域名稱位址後,它首先去找本...

在瀏覽器輸入url後發生了什麼

問題 1 網域名稱解析 2 發起tcp的3次握手 3 建立tcp連線後發起的http請求 4 伺服器端響應http請求,瀏覽器得到html 5 瀏覽器解析html 並請求html 中的資源 6 瀏覽器對頁面進行渲染呈現給使用者 1.網域名稱解析 dns解析的詳細過程 1 解析網域名稱時,瀏覽器會首先...