(1)DNS解析:將域名解析成IP地址後端
在瀏覽器輸入域名後,首先要經過域名解析,由於瀏覽器並不能直接經過域名找到對應服務器,要靠IP地址;瀏覽器
域名解析,即DNS協議經過提供域名查找IP地址,DNS是一個網絡服務器;緩存
DNS優化與應用:DNS存在多級緩存,包括瀏覽器緩存、系統緩存、路由器緩存、IPS服務器緩存、根域名服務器緩存、頂級域名服務器緩存、主域名服務器緩存;服務器
DNS負載均衡(DNS重定向):在DNS服務器中爲同一個主機名配置多個IP地址,將客戶訪問引到不一樣服務器上,使得不一樣用戶訪問不一樣服務器,以達到負載均衡;CDN就是利用的DNS的重定向技術;網絡
dns-prefetch:是一種DNS預解析技術,當你瀏覽網頁時,瀏覽器會在加載網頁時對網頁中的域名進行解析緩存,這樣在你單擊當前網頁的鏈接時就無需進行DNS解析,減小等待時間;負載均衡
(2)TCP鏈接:三次握手佈局
(3)發送HTTP請求fetch
TCP三次握手結束後,開始發送HTTP請求報文優化
(4)服務器處理請求並返回HTTP報文線程
(5)瀏覽器解析渲染頁面
瀏覽器構成:用戶界面、瀏覽器引擎、渲染引擎、網絡、JS解釋器、UI後端、數據存儲
多進程的瀏覽器內核:GUI線程、JS引擎線程、事件觸發線程、定時器線程、網絡請求線程
瀏覽器內核拿到內容後,渲染可分爲:
1、解析HTML,構建DOM樹
2、解析CSS,生成CSS規則樹
3、合併DOM樹和CSS規則樹,生成render樹
4、佈局render樹,主要負責各元素尺寸、位置的計算
5、繪製render樹,繪製頁面像素信息
Layout,也稱Reflow,即迴流,通常意味着元素的內容、結構、尺寸發生了變化、須要從新計算樣式和渲染樹
Repaint,即重繪,意味着元素的一些外觀之類的好比背景色、邊框顏色、文字顏色等,這時只需應用新樣式繪製這個元素就能夠了
(6)斷開連接:TCP四次揮手
當數據傳輸完畢,須要斷開TCP鏈接,發生四次揮手