1.緩存
2.DNS查詢
- 減少DNS查詢 減少域名
3.建立TCP連接
- 在http協(xié)議里加上一個(gè)請(qǐng)求頭keep-alive;服務(wù)器會(huì)盡量復(fù)用TCP連接
- http2.0連接復(fù)用率更高,多路復(fù)用;
4.發(fā)送HTTP請(qǐng)求
- 文件數(shù)減少,合并文件
- 減少cookie體積
- cache-control 不發(fā)送請(qǐng)求,本地文件響應(yīng)
- 瀏覽器會(huì)同時(shí)發(fā)送多個(gè)HTTP請(qǐng)求,1個(gè)域名最多發(fā)送4個(gè)請(qǐng)求;多個(gè)域名就可以發(fā)送更多的請(qǐng)求數(shù)量;跟上面DNS查詢沖突需要權(quán)衡;適用于更多的文件;
5.接受響應(yīng)
- Etag 304 服務(wù)器發(fā)現(xiàn)文件是最新的,就不發(fā)送響應(yīng)而發(fā)送304,使用上次的文件;
- GZIP 在服務(wù)器上用Gzip壓縮打包,瀏覽器解壓。缺點(diǎn):耗費(fèi)瀏覽器的cpu
6.接受完成
7.DOCTYPE---- 要寫(xiě)對(duì)
8.逐行解析(閱讀)
9.解析標(biāo)簽 (IE:直接渲染 chrome:等css解析完再渲染)
10.下載css (并行下載,串行解析)
- 放在CDN 內(nèi)容分布網(wǎng)絡(luò)
- 增加并發(fā)下載數(shù)
- CDN 沒(méi)有cookie
- css放head(盡早下載),js放body后(先提供頁(yè)面,獲取節(jié)點(diǎn))
11.下載js 同上
12.懶加載;預(yù)加載 ---節(jié)省流量,方便用戶;通過(guò)js監(jiān)聽(tīng)