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