從URL輸入到頁面展現到底發生什麼?DNS 解析&TCP 連線
阿新 • • 發佈:2022-05-09
- DNS 解析:將域名解析成 IP 地址
- TCP 連線:TCP 三次握手
- 傳送 HTTP 請求
- 伺服器處理請求並返回 HTTP 報文
- 瀏覽器解析渲染頁面
- 斷開連線:TCP 四次揮手
一、什麼是URL?
URL(Uniform Resource Locator),統一資源定位符,用於定位網際網路上資源,俗稱網址。
scheme: // host.domain:port / path / filename ? abc = 123 # 456789
scheme - 定義因特網服務的型別。常見的協議有 http、https、ftp、file, 其中最常見的型別是 http,而 https 則是進行加密的網路傳輸。 host - 定義域主機(http 的預設主機是 www) domain - 定義因特網域名,比如 baidu.com port - 定義主機上的埠號(http 的預設埠號是 80) path - 定義伺服器上的路徑(如果省略,則文件必須位於網站的根目錄中)。 filename - 定義文件/資源的名稱 query - 即查詢引數 fragment - 即 # 後的hash值,一般用來定位到某個位置
二、DNS域名解析
在瀏覽器輸入網址後,首先要經過域名解析,因為瀏覽器並不能直接通過域名找到對應的伺服器,而是要通過 IP 地址。
DNS 是: 一個由分層的 DNS 伺服器實現的分散式資料庫 一個使得主機能夠查詢分散式資料庫的應用層協議
-
什麼是分散式?
這個世界上沒有一臺 DNS 伺服器擁有因特網上所有主機的對映,每臺 DNS 只負責部分對映。
-
什麼是層次?
DNS 伺服器有 3 種類型:根 DNS 伺服器、頂級域(Top-Level Domain, TLD)DNS 伺服器和權威 DNS 伺服器。它們的層次結構如下圖所示:
- IP 地址
IP 地址是指網際網路協議地址,是 IP Address 的縮寫。IP 地址是 IP 協議提供的一種統一的地址格式, 它為網際網路上的每一個網路和每一臺主機分配一個邏輯地址,以此來遮蔽實體地址的差異。
- 什麼是域名解析
DNS 協議提供通過域名查詢 IP 地址,或逆向從 IP 地址反查域名的服務。 DNS 是一個網路伺服器,我們的域名解析簡單來說就是在 DNS 上記錄一條資訊記錄。
- 瀏覽器如何通過域名去查詢 URL 對應的 IP 呢?
DNS域名解析分為遞迴查詢和迭代查詢兩種方式,現一般為迭代查詢。