Spring/모든 개발자를 위한 HTTP 웹 기본 지식

35. 캐시 무효화

DEV-HJ 2023. 9. 9. 17:20
반응형

Cache-Control
확실한 캐시 무효화 응답


• Cache-Control: no-cache, no-store, must-revalidate
• Pragma: no-cache
   • HTTP 1.0 하위 호환

 

이렇게 넣어주면 확실하게 대응된다.

이렇게 복잡한 이유는 과거부터 오다보니 과거 코드까지 지원해야해서..

 


Cache-Control
캐시 지시어(directives) - 확실한 캐시 무효화


• Cache-Control: no-cache
  • 데이터는 캐시해도 되지만, 항상 원 서버에 검증하고 사용(이름에 주의!)


• Cache-Control: no-store
  • 데이터에 민감한 정보가 있으므로 저장하면 안됨 (메모리에서 사용하고 최대한 빨리 삭제)


• Cache-Control: must-revalidate
  • 캐시 만료후 최초 조회시 원 서버에 검증해야함
  • 원 서버 접근 실패시 반드시 오류가 발생해야함 - 504(Gateway Timeout)
  • must-revalidate는 캐시 유효 시간이라면 캐시를 사용함


• Pragma: no-cache
  • HTTP 1.0 하위 호환


장애가 나는것보다 옛날 데이터라도 보여주자 라는 설정이있다.

통장 잔고같은 시스템에는 장애났다고 옛날 잔고가 보이면 안됨으로 에러나면 그냥 504

반응형