使用CDN
使用內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN):把網(wǎng)站內(nèi)容分散到多個(gè)、處于不同地域位置的服務(wù)器上可以加快下載速度。
使用 Cache-Control
通過(guò)響應(yīng)頭,設(shè)置緩存max-age,在緩存期內(nèi)不發(fā)送請(qǐng)求。
使用Etag
服務(wù)器給瀏覽器發(fā)送Etag數(shù)據(jù),再次瀏覽時(shí)瀏覽器將提交這些數(shù)據(jù)到服務(wù)器,驗(yàn)證本地版本是否最新的,如果為最新的則服務(wù)器返回304代碼,告訴瀏覽器直接使用本地版本,否則下載新版本。
使用 Gzip
傳輸之前,先使用GZIP壓縮再傳輸給客戶端,客戶端接收之后由瀏覽器解壓,這樣雖然稍微占用了一些服務(wù)器和客戶端的CPU,但是換來(lái)的是更高的帶寬利用率。
合并文件(CSS、JS、圖片)
瀏覽器從同一個(gè)域名同時(shí)下載文件數(shù)量有限制(4或8個(gè)),因此應(yīng)盡量將同類(lèi)文件合并。
調(diào)整 CSS 和 JS 的位置
CSS可能會(huì)阻止渲染(chrome會(huì)等CSS解析完畢再渲染頁(yè)面),CSS應(yīng)放在頭部。JS會(huì)阻止瀏覽器渲染,應(yīng)放在body的最后。
壓縮圖片
優(yōu)化圖片大小、通過(guò)CSS Sprites優(yōu)化圖片、不要在HTML中使用縮放圖片、favicon.ico要小而且可緩存
增加域名以并行下載資源
由于瀏覽器從同一個(gè)域名同時(shí)下載文件數(shù)量有限制(4或8個(gè)),當(dāng)服務(wù)器提供的內(nèi)容文件數(shù)量很多時(shí),應(yīng)增加域名以加快下載。