」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 當您在瀏覽器中輸入 URL 時會發生什麼?

當您在瀏覽器中輸入 URL 時會發生什麼?

發佈於2024-11-05
瀏覽:609

您是否想知道當您在瀏覽器中輸入 URL 並按 Enter 鍵時幕後會發生什麼?這個過程比您想像的更加複雜,涉及多個步驟,這些步驟無縫地協同工作以提供您請求的網頁。在本文中,我們將探討從輸入 URL 到查看完全載入的網頁的整個過程,闡明使這一切成為可能的技術和協定。

What Happens When You Type a URL Into a Browser?

第 1 步:輸入 URL 並將其轉換為 IP 位址

當您在瀏覽器中輸入 URL(例如 www.example.com)時,旅程就開始了。瀏覽器的首要任務是將這個人類可讀的 URL 轉換為 IP 位址,也就是託管網站的伺服器的數位位址。這種翻譯至關重要,因為當我們使用網域名稱時,電腦使用數位位址進行通信,例如 192.0.2.1.

為了查找 IP 位址,瀏覽器會檢查多個快取以加快流程:

  • 瀏覽器快取:儲存先前的IP位址以避免重複查找。
  • 作業系統 (OS) 快取:如果在瀏覽器快取中找不到,則會檢查作業系統快取。
  • 路由器或本地快取:瀏覽器可能會檢查路由器的快取或本機網路快取。
  • ISP 快取:最後,您的 Internet 服務供應商 (ISP) 保留 IP 位址快取。

如果這些快取均不包含 IP 位址,瀏覽器會執行 DNS(網域名稱系統)查找。

步驟 2:DNS 尋找並解析 IP 位址

當在任何快取中都找不到 IP 位址時,瀏覽器會啟動 DNS 查找。將 DNS 視為網際網路的電話簿 — 它透過幾個步驟將網域名稱轉換為 IP 位址:

  1. 遞歸 DNS 查找:DNS 解析器對各個 DNS 伺服器進行遞迴查詢,直到找到請求的 IP 位址。
  2. 根 DNS 伺服器:解析器首先查詢根 DNS 伺服器,根 DNS 伺服器將其定向到 TLD(頂級網域)DNS 伺服器(例如 .com 或 .org)。
  3. 權威 DNS 伺服器:TLD 伺服器隨後指向該網域的權威 DNS 伺服器(例如 example.com),該伺服器提供正確的 IP 位址。

有了這些訊息,您的瀏覽器就可以繼續與網頁伺服器建立連線。

第3步:建立TCP連線與HTTPS握手

一旦您的瀏覽器獲得了 IP 位址,它就會發送 HTTP(或 HTTPS)請求以發起與 Web 伺服器的通訊。然而,在交換任何資料之前,必須透過稱為 TCP 3 次握手:

的過程建立 TCP(傳輸控制協定)連接
  1. SYN:客戶端發送SYN(同步)訊息請求連線。
  2. SYN-ACK:伺服器以 SYN-ACK(同步確認)訊息回應。
  3. ACK:最後,用戶端傳回ACK(確認)訊息以建立連線。

如果您透過 HTTPS 造訪網站,則會發生一個附加步驟 - SSL/TLS 握手 - 確保瀏覽器和伺服器之間交換的資料經過加密:

  1. 伺服器將其公鑰傳送到您的瀏覽器。
  2. 您的瀏覽器使用此公鑰加密會話金鑰並將其發送回。
  3. 伺服器使用其私鑰解密此會話金鑰。
  4. 雙方使用此會話金鑰進行安全通訊。

第4步:發送HTTP請求

建立安全連線後,您的瀏覽器會傳送 HTTP 請求以存取伺服器上的特定資源。此請求包含詳細信息,例如您的瀏覽器類型以及您嘗試訪問的頁面。 HTTP 請求可能如下所示:


GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36
Accept: text/html


伺服器處理該請求並準備發回所請求的資源。

第五步:伺服器處理請求並發送回應

處理您的請求後,伺服器會產生一個 HTTP 回應,其中包含渲染頁面所需的 HTML、CSS、JavaScript 和圖像等資源。理想情況下,此回應的狀態代碼為 200 OK,表示一切順利。

以下是該回應的範例:


HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 3485




Example Page


Welcome to Example.com!






第 6 步:渲染頁

一旦您的瀏覽器收到此回應,它就會開始透過解析 HTML 和 CSS 檔案來渲染頁面,同時執行這些檔案中包含的任何 JavaScript 程式碼。此過程涉及建立文件物件模型 (DOM),它表示網頁上的元素的結構。

渲染引擎負責根據此 DOM 結構和套用於其的 CSS 樣式在螢幕上繪製像素。

結論

了解當您在瀏覽器中輸入 URL 時會發生什麼,揭示了現代網頁技術是多麼複雜而高效。從將網域轉換為 IP 位址,到建立安全連線和無縫呈現頁面,每一步對於快速且安全地交付內容都起著至關重要的作用。

下次您在線上瀏覽時,請花點時間欣賞所有這些幕後流程的協同工作,以便您可以在您喜愛的網站上享受流暢的導航!

延伸閱讀

對於有興趣加深網路技術如何運作或尋求更多技術見解的人:

  • DNS 的工作原理
  • 瞭解 TCP/IP
  • HTTPS 連線

透過探索這些資源,您將更深入地了解我們的數位世界如何運作!

版本聲明 本文轉載於:https://dev.to/vyan/what-happens-when-you-type-a-url-into-a-browser-2mh2?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3