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