- max-age
- etag
- last_modified
直到refresh才會重新取得
節省server不用render view,但request仍會觸及BE server,若server判斷同樣etag回傳304 No Modified。
觸及server
- 1st - render body, create etag
- 2nd - render body, create etag, compare etag
觸及server
- 1st - render body + last_modified
- 2nd - compare date
Reverse Proxy Caches: Vanish
, Squid
只使用Reverse Proxy而沒有利用HTTP header的max-age
, etag
或last_modified
時,就完全不會觸及Server,所以,得在HTTP header讓Reverse Proxy知道何時要把Request往server送。
- max-age: 2nd在時間內都會由Reverse Proxy。
- etag: Reverse Proxy會在同樣的Request
自動加etag
,Reverse proxy會在2nd新用戶訪問時,Cache Server回應html+etag
- last_modified: Reverse Proxy會在同樣的Request
自動加last_modified
,Reverse proxy會在2nd新用戶訪問時,Cache server回應html+last_modified
單單只用max-age
, etag
或last_modified
,Reverse Proxy仍會觸及Server
- max-age+etag
- max-age+last_modified
- 除非有用max-age,否則reverse proxy一定會hit app。
- Reverse Proxy可減輕hit app的次數,當不同使用者訪問同一個resource時,會自動加上max-age, last_modified或etag。