可緩存性:
1. public :HTTP請求返回的過程中,返回內容所經過的任何路徑中(代理服務器,客戶端瀏覽器等)都可以對數據緩存
2.private: 只有發起請求的瀏覽器才可以進行緩存
3. no-cache: 可以緩存,但要向服務器請求驗證是否可以使用
到期:
max-age=<seconds> 緩存到期時間,以秒為單位,過期需要再次從服務器請求
s-maxage=<seconds> 代理服務器才會生效,代替max-age
max-stale=<seconds> 請求方Header中,即使緩存過期,在max-stale 時間內還可以使用緩存(代理服務器中)
重新驗證(瀏覽器不常用)
must-revalidate: 若緩存過期,需要重新向服務器發起請求 驗證緩存是否過期
proxy-revalidate: 用在緩存服務器上
總結: Cache-Control 是客戶端緩存,若允許使用緩存, 則不會向服務器發送請求,直接讀取本地緩存,可以優化頁面性能,
但如果服務器更新了,客戶端不會知道,仍使用緩存
前端 可以通過修改URL Hash碼 ,發送至服務器,去判斷 內容是否修改,若修改,則說明需要刷新瀏覽器緩存
其他
no-store: 本地和代理服務器不能存取緩存,只有向服務器請求
no-transform: 用於代理服務器,表示不可以改動返回內容