在瀏覽器上輸入地址,經過短暫的等待,頁面就呈現了出來。這看似很簡單,其實中間經歷了很多的步驟,都是自動完成的。下面就來科普一下中間的處理步驟。
一、URL解析
URL有很多種,但我們一般瀏覽網頁使用的都是HTTP協議。瀏覽器會從網址中得知我們按照HTTP協議請求了資源,并將地址上交。
二、DNS解析
URL只是一個方便記憶的內容,真正的網址是由一串數字組成(IP)。本地有一個HOSTS文件(位置為 \System32\drivers\etc),里面可以添加一些解析地址。瀏覽器會先檢查緩存,再查看hosts,如果都沒有相關數據則會向DNS服務器發送查詢請求。進過ARP(路由器)或TCP/UDP請求(DNS服務器)查詢之后,瀏覽器獲得了目標IP的地址。
三、建立連接
接下來通過函數庫socket和MAC地址組成一個封裝包。封裝包經過幾個網絡節點最終達到目標服務器。這個過程當中服務端和客戶端會相互發送很多次信息(三次握手)來確保文件發送正確。之后進行TLS(安全傳輸層協議)握手,表明雙方的加密算法和壓縮算法。接下來雙方發送確認信息并生成密鑰,并最終開始傳輸HTTP內容。
四、HTTP協議
瀏覽器向服務器發送請求頭,包括數據方式、版本號、域名等信息。解析好HTML之后,瀏覽器重復上面過程陸續將所有其他資源下載到本地。
五、顯示
在獲取到所有文件之后,瀏覽器會開始解析獲得的文件。HTML文檔控制網站的主題內容,CSS控制樣式,JS控制動態內容。瀏覽器按照HTML、CSS、渲染進行解析(中間還需要GPU幫忙),并最終形成基本頁面。在完成后,瀏覽器進行最后一步渲染,讀取JS和插件。在最后一次渲染完成后,完成的頁面就顯示出來了。
我們擁有國內頂級的設計、技術團隊和多年互聯網軟件開發經驗。