瀏覽器中輸入 URL 回車後
當我們在瀏覽器中輸入 URL 並且回車後,主要發生四個過程:查詢 IP 、建立連線、相互通訊、斷開連線。主要流程概述如下:
- 1.客戶端根據域名查詢對應的 IP 地址;
- 2.客戶端根據 IP 地址與伺服器建立連線;
- 3.客戶端與伺服器通訊;
- 4.客戶端與伺服器斷開連線。
在詳細介紹各個流程前,讓我們先來了解一下接下來需要接觸到的一些名詞概念。
IP 地址:指網際網路協議地址。是 IP 協議提供的一種統一的地址格式,它為網際網路上的每一個網路和每一臺主機分配一個邏輯地址,以此來遮蔽實體地址的差異。網際網路上每一個網路和每一臺主機都會被分配的一個 IP 地址。我們可以把 IP 地址當成具體到門牌號碼的地址,只有通過 IP 地址才能確定一臺主機的位置。
域名:是由一串用點分隔的名字組成的 Internet上某一臺計算機或計算機組的名稱,用於在資料傳輸時標識計算機的電子方位(有時也指地理位置)。由於純數字的 IP 地址難以被記憶,所以使用有代表意義的字元(域名)來代替純數字的 IP 地址,但最終仍需要通過域名來查詢其對應的 IP 地址才能夠找到相應主機的位置。
DNS :域名系統,是網際網路的一項服務。它作為將域名和 IP 地址相互對映的一個分散式資料庫,能夠使人更方便地訪問網際網路。
URL:統一資源定位符,有時也被俗稱為網頁地址(網址)。指的是因特網上各種資源的地址。
這裡需要區分一下域名(或者 IP 地址)與 URL 的區別,域名確定的是因特網中某臺主機的位置;而 URL 則要更為具體,指某臺主機中某個資源的具體位置。如 ttsy.com 是一個域名,通過這個域名可以找到其相對應 IP 地址的主機,而 ttsy.com/a/b.jpg 是一個 URL,通過這個 URL 可以找到這臺主機上的路徑為 /a 的 b.jpg 圖片資源。
那麼接下來詳細介紹上述四個流程~
查詢 IP
在我們輸入 URL 並且按下回車時,瀏覽器首先要做的便是通過域名查詢對應的 IP 地址,這個過程也稱作 DNS 解析。具體的查詢過程如下:
- 瀏覽器搜尋自己的 DNS 快取,查詢成功返回其對應 IP 地址,失敗則進行下一步;
- 搜尋系統中的 DNS 快取,查詢成功返回其對應 IP 地址,失敗則進行下一步;
- 搜尋系統中的 hosts 檔案,查詢成功返回其對應 IP 地址,失敗則進行下一步;
- 系統傳送一個請求到路由器上,路由器查詢其快取,查詢成功返回其對應 IP 地址,失敗則進行下一步;
- 系統將域名傳送至 LDNS(本地域名伺服器),查詢成功返回其對應 IP 地址,失敗則 LDNS 向 Root Name Server(根域名伺服器)發起請求獲得域的頂級域名伺服器地址,然後依次請求獲得各級域名伺服器地址,最後獲得域名對應 IP 地址;
- LDNS 將 IP 地址返回給作業系統並快取起來;
- 系統將 IP 地址返回給瀏覽器並快取起來;
- 瀏覽器獲得 IP 地址,發起建立連線的請求。
建立連線--三次握手
瀏覽器獲得 IP 地址後,就會對目標伺服器發起建立 TCP 連線的請求,建立連線主要有三個步驟,一般稱為客戶端與伺服器端的三次握手:
- 瀏覽器向伺服器傳送想建立連線的請求「你好,可以認識一下嗎」;
- 伺服器向瀏覽器傳送同意建立連線的響應「你好,當然可以啊」;
- 瀏覽器向伺服器傳送確認收到響應的請求,客戶端和伺服器建立連線「非常高興認識你」。
相互通訊
客戶端與伺服器建立連線後,便會開始進行通訊,這裡以客戶端向伺服器請求網頁資源的過程為例:
- 瀏覽器向伺服器發起一個請求網頁資源的請求;
- 伺服器返回對應網頁資源;
- 瀏覽器渲染、構建網頁,在構建網頁的過程中,可能會繼續請求 CSS、JavaScript 等資源。
斷開連線--四次揮手
客戶端與伺服器的相互通訊完成後,便會斷開連線,斷開連線主要有四個步驟,一般稱為客戶端與伺服器端的四次揮手:
- 瀏覽器向伺服器傳送想斷開連線的請求「我要走啦」;
- 伺服器向瀏覽器傳送收到請求的響應「我知道啦」;
- 伺服器向瀏覽器傳送斷開連線的請求「可以了」;
- 瀏覽器斷開連線並向伺服器傳送一個反饋請求,伺服器收到後斷開連線「好的,拜拜」。
為什麼客戶端與伺服器斷開連線是四次揮手呢?主要是因為當客戶端告訴伺服器想斷開連線的時候,伺服器的資料不一定已處理完畢,所以伺服器是先告訴客戶端說已經收到了它想斷開連線的請求,然後當伺服器中資料處理完畢時,便通知客戶端並請求斷開連線,客戶端收到後便斷開連線並通知伺服器,伺服器收到後才斷開連線。
相關文章
- 瀏覽器輸入URL回車後...瀏覽器
- 當你在瀏覽器中輸入URL回車後會發生什麼?瀏覽器
- 瀏覽器位址列輸入url回車之後發生了些什麼瀏覽器
- 在瀏覽器輸入 URL 回車之後發生了什麼(流程圖,超詳細版)瀏覽器流程圖
- 瀏覽器從輸入URL到渲染瀏覽器
- 瀏覽器輸入 URL後那點事,簡單版瀏覽器
- 經典面試題:在瀏覽器位址列輸入一個 URL 後回車,背後發生了什麼面試題瀏覽器
- 在瀏覽器輸入一個網址回車後,發生了什麼?瀏覽器
- 簡述瀏覽器輸入 URL 地址後發生的事情瀏覽器
- 瀏覽器位址列裡輸入URL後的全過程瀏覽器
- 在瀏覽器中輸入一個URL,按下回車會發生什麼?瀏覽器
- 經典面試題—在瀏覽器中輸入URL之後發生了什麼?面試題瀏覽器
- 譯文:瀏覽器輸入URL發生了什麼?瀏覽器
- 在瀏覽器位址列輸入url到按下回車發生了什麼?瀏覽器
- 當你在瀏覽器輸入一個網址,回車後究竟發生了什麼?瀏覽器
- 從在瀏覽器中輸 URL 網址之後到底發生了什麼?瀏覽器
- “天龍八步”細說瀏覽器輸入URL後發生了什麼瀏覽器
- 瀏覽器URL從輸入到頁面繪製完成過程瀏覽器
- 在瀏覽器中從URL輸入到頁面展現到底發生什麼?瀏覽器
- 從瀏覽器位址列輸入url到顯示頁面的步驟瀏覽器
- 靈魂拷問!瀏覽器輸入「xxxxhub」的背後.....瀏覽器
- 從輸入 URL 到瀏覽器接收的過程中發生了什麼事情----轉載瀏覽器
- 網路是怎樣連線的?從瀏覽器輸入URL開始瀏覽器
- 【瀏覽器】從URL輸入到頁面展現到底發生了什麼?瀏覽器
- 從瀏覽器輸入網址回車到看到頁面過程到底經歷了什麼?瀏覽器
- 簡略圖解:輸入 url 到出現頁面,瀏覽器做了什麼?圖解瀏覽器
- 瀏覽器輸入URL到 請求全過程以及相應的效能優化瀏覽器優化
- 在瀏覽器中輸入url到頁面顯示出來的過程發生了什麼?瀏覽器
- (詳解)從瀏覽器輸入 URL 到頁面展示過程發生了什麼?瀏覽器
- 瀏覽器可以自動修改URL?瀏覽器
- window中location物件改變瀏覽器URL和位置物件瀏覽器
- 【雜談】一個回車下去,瀏覽器做了什麼?瀏覽器
- 深入淺出經典面試題:從瀏覽器中輸入URL到頁面載入發生了什麼 - Part 2面試題瀏覽器
- 深入淺出經典面試題:從瀏覽器中輸入URL到頁面載入發生了什麼 - Part 3面試題瀏覽器
- 輸入url以後發生了什麼
- SAP ABAP程式碼中開啟瀏覽器跳轉訪問URL瀏覽器
- Win10電腦中自帶瀏覽器不能輸入文字如何解決Win10瀏覽器
- 使用 Cloudflare 瀏覽器隔離控制可疑站點的輸入Cloud瀏覽器