當你在瀏覽器中輸入URL回車後會發生什麼?

張哥說技術發表於2023-12-20

來源:coderidea

在日常使用網際網路時,我們經常在瀏覽器中輸入網址(URL),但背後隱藏的是一個複雜的網路通訊過程。本文旨在詳細解釋當您在瀏覽器中輸入URL並按下Enter鍵時,從請求的發起到最終網頁的載入,整個過程中發生的各個步驟。

1. URL解析

  • 理解URL組成: 瀏覽器首先解析URL,識別出協議( http或 https)、域名、路徑以及任何查詢引數。

  • 協議的作用: 協議指定了瀏覽器與伺服器通訊的方式,例如 https表示加密的安全連線。

2. DNS查詢

  • 域名解析: 瀏覽器檢查自己的快取,檢視是否已有對應域名的IP地址。

  • DNS查詢: 若快取中沒有,瀏覽器執行DNS查詢,將域名轉換為伺服器的IP地址。

3. 建立連線

  • 連線伺服器: 瀏覽器向伺服器的IP地址發起連線請求。使用 https時,還會進行TLS握手,確保安全連線。

4. 傳送HTTP請求

  • 請求網頁: 瀏覽器向伺服器傳送HTTP請求,請求特定的網頁資源。

  • 請求頭: 請求中包含多種頭資訊,如瀏覽器型別、可接受的響應格式、cookie等。

5. 伺服器處理

  • 處理請求: 伺服器處理接收到的請求。這可能涉及執行伺服器端指令碼、從資料庫獲取資料、組裝最終的HTML內容等。

6. 響應與接收

  • 伺服器響應: 伺服器以HTTP響應的形式回應,通常包含請求的HTML檔案,以及狀態碼、伺服器資訊、內容型別等。

7. 渲染網頁

  • 解析和渲染: 瀏覽器開始解析HTML、CSS和JavaScript,渲染出網頁。

  • 載入資源: 瀏覽器可能會向伺服器傳送額外請求,載入HTML中引用的圖片、CSS檔案或JavaScript檔案。

8. JavaScript執行

  • 動態互動: 如果網頁包含JavaScript,瀏覽器會執行這些指令碼程式碼,它們可以動態修改HTML和CSS,並與伺服器互動獲取額外資料。

9. 完成顯示

  • 展示網頁: 最終,瀏覽器向使用者展示完全渲染好的網頁。

額外考量

  • Cookie和會話資料: 瀏覽器傳送與域相關的cookie,包含會話資料或偏好設定。

  • 快取: 瀏覽器快取資源以提高後續訪問的效能。

  • 內容分發網路(CDN): 瀏覽器可能會與CDN通訊,更快地載入內容。

結論

儘管這個過程看起來瞬間完成,但實際上涉及了瀏覽器、網路協議、Web伺服器以及通常包括DNS伺服器和CDN等中間實體之間的複雜互動。理解這一過程有助於我們更好地把握Web技術的工作原理,以及在遇到問題時進行故障排除。

來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70024923/viewspace-3000698/,如需轉載,請註明出處,否則將追究法律責任。

相關文章