在分析網(wǎng)頁性能之前要清楚的知道,從我們輸入url開始到看到網(wǎng)站,這整個(gè)過程到底發(fā)生了什么。那么在針對每個(gè)過程優(yōu)化。現(xiàn)在就讓我們從前端面試的經(jīng)典問題走起:從輸入url到頁面加載完發(fā)生了什么?用最簡單的話來描述如下:
- DNS解析:從url定位到ip的過程
- 發(fā)送網(wǎng)絡(luò)請求:下載html文檔。通常我們使用http協(xié)議(現(xiàn)在通常升級到HTTP2.0,SPDY),底層可能是TCP/UTP,這里會(huì)有經(jīng)典的三次握手連接。
3.下載完html文檔之后,瀏覽器開始解析html文檔。話說瀏覽器的解析也可以長到一篇文章來說明,這里簡單講下。就是構(gòu)建dom樹,然后下載css樣式,然后渲染樹出來,然后瀏覽器繪制。然后下載js(因?yàn)橐话鉰s都是放在底部),然后解析js。整個(gè)頁面完全出來了。
如下是繪制的一個(gè)完整的網(wǎng)頁請求:
QQ截圖20160901215414.png