瀏覽器輸入 URL 到頁面載入完成,簡單介紹

2021-08-07 19:36:15 字數 1571 閱讀 3236

從瀏覽器輸入 url 到頁面載入完的過程中都發生了什麼事情?這是乙個複雜的過程,但是對於了解瀏覽器的工作原理有一定的幫助,參考網上的資料,我今天簡單的介紹一下!

例如:

:協議部分:

www.

haorooms

.com

資源路徑:/

post

/css_div_juzhong

二、如果位址不是乙個ip位址,通過dns(網域名稱系統)將該位址解析成ip位址。ip位址對應著網路上一台計算機,dns伺服器本身也有ip,你的網路設定包含dns伺服器的ip。

例如:www.haorooms.com 不是乙個ip,向dns詢問請求www.haorooms.com 對應的ip,獲得ip: 114.215.140.225。這個過程裡,你的電腦直接詢問的dns伺服器可能沒有www.haorooms.com 對應的ip,就會向它的上級伺服器詢問,上級伺服器同樣可能沒有,就依此一層層向上找,最高可達根節點,找到或者全部找不到為止。

三、如果位址不包含埠號,根據協議的預設埠號確定乙個。埠號之於計算機就像視窗號之於銀行,一家銀行有多個視窗,每個視窗都有個號碼,不同視窗可以負責不同的服務。埠只是乙個邏輯概念,和計算機硬體沒有關係。

例如:www.haorooms.com 不包含埠號,http協議預設埠號是80。如果你輸入的url是 ,那表示不使用預設的埠號,而使用指定的埠號8081。

四、向(二)和(三)確定的ip和埠號發起網路連線。

例如:向 114.215.140.225的80埠發起連線

五、根據http協議要求,組織乙個請求的資料報,裡面包含大量請求資訊,包括請求的資源路徑、你的身份 例如:用自然語言來表達這個資料報,大概就是:請求 /post/css_div_juzhong ,我的身份是******x。

六、伺服器響應請求,將資料返回給瀏覽器。資料可能是根據html協議組織的網頁,裡面包含頁面的布局、文字。資料也可能是、指令碼程式等。現在你可以用瀏覽器的「檢視源**」功能,感受一下伺服器返回的是什麼東東。如果資源路徑指示的資源不存在,伺服器就會返回著名的404錯誤。

八、開始根據資源的型別,將資源組織成螢幕上顯示的影象,這個過程叫渲染,網頁渲染是瀏覽器最複雜、最核心的功能。

九、將渲染好的頁面影象顯示出來,並開始響應使用者的操作。

以上只是最基本的步驟,實際不可能就這麼簡單,一些可選的步驟例如網頁快取、連線池、載入策略、加密解密、**中轉等等都沒有提及。

即使基本步驟本身也有很複雜的子步驟,tcp/ip、dns、http、html:每乙個都可以展開成龐大的課題,而瀏覽器的基礎——作業系統、編譯器、硬體等更是乙個比乙個複雜。

不是計算機專業的小夥伴看了上面的解釋完全不明白是很正常的,可能會問為什麼要搞得那麼複雜,但我保證這每乙個步驟都經過深思熟慮和時間的考驗。你輸入url即可瀏覽網際網路,而計算機系統在背後做了無數你看不到的工作,計算機各個子領域無數工程師為此付出你難以想象的努力。

從輸入URL到頁面載入完成

例如 協議部分 http www.guokr.com 資源路徑 question 554991 2 如果位址不是乙個ip位址,通過dns 網域名稱系統 將該位址解析成ip位址。ip位址對應著網路上一台計算機,dns伺服器本身也有ip,你的網路設定包含dns伺服器的ip。例如 www.guokr.co...

輸入URL到頁面載入完成過程

首先是網域名稱解析,就是把url轉換成對應的ip位址 網域名稱解析 瀏覽器會先搜尋自己的dns快取,如果沒有在作業系統的dns裡檢視,如果也沒有會搜尋作業系統的hosts檔案,如果沒有會把這個網域名稱傳送到本地網域名稱伺服器上,然後本地網域名稱伺服器會查詢自己的dns快取,如果成功則返回ip位址,如...

從輸入 URL 到瀏覽器渲染完成

首先,判斷是不是https的,如果是,則https其實是http ssl tls 兩部分組成,也就是在http上又加了一層處理加密資訊的模組。服務端和客戶端的資訊傳輸都會通過tls進行加密,所以傳輸的資料都是加密後的資料。進行三次握手,建立tcp連線。第一次握手 建立連線。客戶端傳送連線請求報文段,...