一.http協議頭控制
cache-control用於控制檔案在本地快取有效時長。
最常見的,比如伺服器回包:
cache-control:max-age=600表示檔案在本地應該快取,且有效時長是600秒(從發出請求算起)。在接下來600秒內,如果有請求這個資源,瀏覽器不會發出http請求,而是直接使用本地快取的檔案。
last-modified是標識檔案在伺服器上的最新更新時間。下次請求時,如果檔案快取過期,瀏覽器通過if-modified-since欄位帶上這個時間,傳送給伺服器,由伺服器比較時間戳來判斷檔案是否有修改。如果沒有修改,伺服器返回304告訴瀏覽器繼續使用快取;如果有修改,則返回200,同時返回最新的檔案。
cache-control通常與last-modified一起使用。乙個用於控制快取有效時間,乙個在快取失效後,向服務查詢是否有更新。
cache-control還有乙個同功能的字段:expires。expires的值乙個絕對的時間點,如:expires: thu, 10 nov 2015 08:45:11 gmt,表示在這個時間點之前,快取都是有效的。
expires是http1.0標準中的字段,cache-control是http1.1標準中新加的字段,功能一樣,都是控制快取的有效時間。當這兩個字段同時出現時,cache-control是高優化級的。
文件內容......
body>
html>
# 2012-02-21 v1.0.0
/theme.css
/logo.gif
/main.js
network: //規定檔案 "login.php" 永遠不會被快取,且離線時是不可用的:
login.php
fallback: //如果無法連線網際網路,則用"offline.html"替代/html5/目錄中的所有檔案
/html/ /offline.html
一旦應用被快取,它就會保持快取直到發生下列情況:
- 使用者清空瀏覽器快取
- manifest 檔案被修改(參閱下面的提示)
- 由程式來更新應用快取
前端效能優化 快取優化
控制瀏覽器強快取主要靠兩個響應頭部欄位來實現 expires和cache control,瀏覽器在訪問靜態資源時,會首先判斷該資源是否做了強快取。如果發現是強快取並且快取還在有效期內,那就不會去傳送http請求,而直接使用本地的快取 這個快取可能來自於記憶體,也可能來自本地磁碟空間 其中expire...
web前端效能優化 快取
雅虎的16條優化準則,作為前端開發工程師,都是耳熟能詳,信手拈來。但很多時候也能難完全的做得到,一些準則跟工程原則是衝突的,難以落實起來。js檔案放尾部,css檔案放頭部等,這些基本的優化點還是可以做到,但是有時候遇到網速慢的情況,會出現一段時間的白屏,從使用者體驗的角度來說,還是有提公升的空間。根...
前端效能優化 快取篇SDK
1.把前端最常用的資源css js存在本地 1.1 前端快取技術sessionstorage 優點 臨時儲存神器,關閉頁面標籤自動 不可以跨頁面互動。取值的時候有兩種方法,一種是用sessionstorage.getitem 鍵名 一種是直接取物件的方法 sessionstorage.鍵名 注意 1...