저장소(DB, 메모리, 파일) -> 서버
데이터비용 아낄 수 있지만, 오래된 데이터를 사용하게 될 수도 있음
- Cache Hit : 적중
- 신선(Cache-Control: Max-Age, Expires 이전)
- 너무 오래된 경우
- 오래되었지만 바뀐거 없음 >> Cache사용(304)
- 오래되었고 변경 되었음 >> 200
- Cache Miss : 적중xxx (서버에 요청하고 받아와야함)
Cache Control(캐시를 저장할지말지, 얼마나저장할지)
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control
- private (기본값) / public (공유캐시)
- no-cache //캐시 저장해도 되는데 항상 신선도 검사(유효기간 무시)
- no-store // 캐시 저장xx
신선도검사
- must-revalidate // 유통기한 지나면 신선도 검사! (Max-Age)
- Stale-While-Revalidate(SWR) // 일단 캐시주고 오래된거면 몰래 업뎃하기
- Stale-If-error // error여도 그냥 보여주기,,,
- Last-Modified / Etag
- If-Match
- If-Modified-Since