HTTP 캐시는 저장, 재사용, 재검증, 만료 수명 주기로 읽는다
브라우저와 CDN은 응답 헤더를 기준으로 자산을 저장하고, 다시 쓸지 서버에 확인할지 결정한다.
| 단계 | 관련 헤더 | 하는 일 | 주의점 |
|---|---|---|---|
| Store | Cache-Control, max-age | 응답을 브라우저나 CDN에 저장 | 개인 데이터는 public 캐시 금지 |
| Reuse | fresh 상태 | 서버 요청 없이 캐시 사용 | 변경 가능 자원은 짧게 설정 |
| Revalidate | ETag, If-None-Match | 서버에 변경 여부 확인 | 304로 본문 없이 갱신 |
| Expire | max-age 만료 | 새 응답 또는 재검증 필요 | 오래된 파일이 남지 않게 버전 관리 |
| Invalidate | 파일명 hash, purge | 배포 시 새 자산 사용 | HTML과 JS 버전 불일치 |
캐시는 빠르게 보이게 하는 기능이지만 업데이트 전략이 없으면 오래된 UI를 계속 보여 줄 수 있다.