從你在瀏覽器輸出了一串位址開始,到瀏覽器呈現頁面給你,中間一共都經歷了什麼?
去chrome瀏覽器快取去尋找dns所對應的ip。檢視dns:chrome://net-internals/#dns 。
去作業系統快取裡尋找ip
去本機hosts檔案裡尋找ip
如果前三步都獲取不到的時候,進入第二步,瀏覽器去請求寬頻運營商提供的dns解析請求。
拿到目標ip後,瀏覽器某埠發起的http報文經過在傳輸層(tcp協議)對收到的資料(http請求報文)進行分割,並在各個報文上打上標記序號及埠號後**給網路層。在網路層(ip協議),增加作為通訊目的地的mac位址後**給鏈路層。這樣一來,發往網路的通訊請求就準備齊全了。
瀏覽器某埠發起的tcp請求經過層層路由最後到伺服器端的網絡卡,伺服器端鏈路層收到資料後,按照鏈路層一直到應用層順序往上傳送。一共三次握手。當到了應用層的時候才算建立了鏈結,真正收到了客戶端傳送過來的http請求。
瀏覽器接收到伺服器傳回的報文,通常是乙個html的文字,開始解析其 html。
中間如果讀取到 js 或者其他 css 瀏覽器都將暫停讀取 html,而開始執行並重複上面 3 到 5 的步驟。
到此,你的瀏覽器就正確的渲染出了頁面。
從瀏覽器位址列輸入url到頁面呈現
從瀏覽器dns快取 從系統dns快取中去,本機系統hosts檔案中如果有對映,就返回對映的ip位址 從區域網路由器中dns快取獲取對映位址 從dns伺服器快取獲取對映位址 伺服器中查詢,com baidu www 2.tcp連線,三次握手 瀏覽器發起,詢問伺服器是否支援響應 伺服器發起,回覆瀏覽器已...
瀏覽器從輸入url到頁面呈現發生了什麼?
當瀏覽器位址列中輸入www.baidu.com到頁面呈現的具體過程 1.網域名稱解析 dns解析 網路層 先從快取中找網域名稱對應的ip位址,沒有再向網域名稱伺服器傳送請求。瀏覽器的dns快取 以chrome瀏覽器為例檢視dns快取,在位址列中輸入chrome net internals dns 檢...
從使用者輸入url到頁面最後呈現 發生了些什麼?
一 瀏覽器獲取資源的過程 1 輸入url 2 瀏覽器解析url,獲得主機名 3 將主機名轉換成伺服器ip位址 查詢本地dns快取列表,如果沒有則向預設的dns伺服器傳送查詢請求 4 瀏覽器建立一條與伺服器的tcp連線 三次握手 5 瀏覽器向伺服器傳送http請求 6 伺服器向瀏覽器返回請求響應 7 ...