對(duì)于緩存機(jī)制,現(xiàn)在可以做的有哪些?
我在瀏覽資料的時(shí)候發(fā)現(xiàn)了一個(gè)caching checklist,比較具有參考價(jià)值,我們可以遵循建議合理的利用緩存機(jī)制:
1、使用一致的網(wǎng)址:如果在不同的網(wǎng)址上提供相同的內(nèi)容,那么將會(huì)多次獲取和存儲(chǔ)相同的內(nèi)容。提示:網(wǎng)址是區(qū)分大小寫的!
2、確保服務(wù)器提供驗(yàn)證碼 (ETag):通過驗(yàn)證碼,如果服務(wù)器上的資源未被更改,就不必傳輸相同的字節(jié)。
3、確定代理緩存可以緩存哪些資源:對(duì)所有用戶的響應(yīng)完全相同的資源很適合由 CDN 或其他代理緩存進(jìn)行緩存。
4、確定每個(gè)資源的最優(yōu)緩存周期:不同的資源可能有不同的更新要求。審查并確定每個(gè)資源適合的 max-age。
5、確定網(wǎng)站的最佳緩存層級(jí):對(duì) HTML 文檔組合使用包含內(nèi)容指紋碼的資源網(wǎng)址以及短時(shí)間或 no-cache 的生命周期,可以控制客戶端獲取更新的速度。
6、變動(dòng)最小化:有些資源的更新比其他資源頻繁。如果資源的特定部分(例如 JavaScript 函數(shù)或一組 CSS 樣式)會(huì)經(jīng)常更新,應(yīng)考慮將其代碼作為單獨(dú)的文件提供。這樣,每次獲取更新時(shí),剩余內(nèi)容(例如不會(huì)頻繁更新的庫(kù)代碼)可以從緩存中獲取,確保下載的內(nèi)容量最少。