본문 바로가기
프로그래밍/Web Basic

프록시 캐시, no-cache vs must-revalidate

by YuminK 2023. 8. 1.

프록시 캐시 

Cache-Control

캐시 지시어 - 기타

 

1. Cache-Control: public

응답이 public 캐시에 저장되어도 된다.

 

2. Cache-Control: private

응답이 해당 사용자만을 위한 것이다. private 캐시에 저장해야 한다. (기본값)

 

3. Cache-Control: s-maxage

프록시 캐시에만 적용되는 max-age

 

4. Age: 60 (HTTP 헤더)

오리진 서버에서 응답 후 프록시 캐시 내에 머문 시간

 

캐시를 원서버에서 미리 적재를 해놓거나 누군가 자주 접근한 리소스인 경우 빠르게 접근이 가능하다. 

 

캐시 무효화

1. Cache-Control: no-cache, no-store, must-revalidate

2. Pragma: no-cache

HTTP 1.0 하위 호환

 

Cache-Control

캐시 지시어 - 확실한 캐시 무료화

 

1. Cache-Control: no-cache

데이터는 캐시해도 되지만, 항상 원 서버에 검증하고 사용한다.

 

2. Cache-Control: no-store

데이터에 민감한 정보가 있으므로 저장하면 안 된다. (사용하고 빠르게 삭제)

 

3. Cache-Control: must-revalidate

캐시 만료 후 최초 조회시 원서버에 검증해야 한다.

원 서버 접근 실패시 반드시 오류가 발생해야 한다. 504 Gateway  Timeout

must-revalidate는 캐시 유효 시간이라면 캐시를 사용함

 

4. Pragma: no-cache

HTTP 1.0 하위 호환

원서버에 접근해서 데이터를 확인할 수 없다면, 오류를 반환하기 때문에

은행 시스템 같이 정확한 데이터를 필요로 하는 곳에서 사용한다.

 

출처: HTTP 웹 기본 지식 강의(김영한)

댓글