一)內(nèi)容層面
1、DNS解析優(yōu)化(DNS緩存墅拭、減少DNS查找啦鸣、keep-alive、適當(dāng)?shù)闹鳈C(jī)域名)
2蝉衣、避免重定向(/還是需要的) 使用ajax 當(dāng)請(qǐng)求成功的時(shí)候 需要重定向 到另一個(gè)頁(yè)面
3括尸、切分到多個(gè)域名 頁(yè)面類:html、htm等 樣式類: js病毡、css等圖片類: jpg濒翻、png、gif等 動(dòng)態(tài)類:php啦膜、asp等
4有送、杜絕404 404錯(cuò)誤頁(yè)面
二)網(wǎng)絡(luò)傳輸階段
1、減少傳輸過程中實(shí)體的大小
1)緩存 localstorage
2)cookie優(yōu)化 以用戶的形式來緩存
3)文件壓縮(Accept-Encoding:g-zip)
2僧家、減少請(qǐng)求的次數(shù)
1)文件適當(dāng)?shù)暮喜?br>
2)雪碧圖 背景精靈圖
3雀摘、異步加載(并發(fā),requirejs)
4、預(yù)加載八拱、延后加載阵赠、按需加載 也就是懶加載
三)渲染階段
1涯塔、js放底部,css放頂部
2清蚀、減少重繪和回流 重繪 jsdom操作添加樣式 回流js改變樣式
3匕荸、合理使用Viewport 等meta頭部
4、減少dom節(jié)點(diǎn) 減少dom結(jié)構(gòu)
5轧铁、BigPipe 發(fā)送一次請(qǐng)求每聪,多次返回?cái)?shù)據(jù)
四)腳本執(zhí)行階段
1旦棉、緩存節(jié)點(diǎn)齿风,盡量減少節(jié)點(diǎn)的查找 緩存全局變量為局部變量
2、減少節(jié)點(diǎn)的操作(innerHTML) 減少dom操作
3绑洛、避免無謂的循環(huán)救斑,break、continue真屯、return的適當(dāng)使用
4脸候、事件委托