본문 바로가기

HTTP

3월 13일 HTTP 캐시 조건부 헤더

캐시 조건부 헤더

 

캐시 제어 헤더

-cache-control : 캐시 제어

-Pragma : 캐시 제어 (하위호환)

-Expires : 캐시 유효 기간(하위호환)

 

cache-control - 캐시 지시어(directives)

-cache-control : mas-age

캐시 유효기간 , 초단위

-cache-control : no-cache (캐시 데이터를 사용하기 위한 검증절차 필수)

데이터는 캐시해도 되지만 항상 원(origin) 서버에 검증하고 사용 (검증 후 사용)

-cache-control : no-store (저장하면 안되는 데이터)

데이터에 민감한 정보가 있으므로 저장하면 안됨

(메모리에서 사용하고 최대한 빨리 삭제)

 

Pragma * (하위호환 하려고 사용)

캐시 제어 (하위호환)

-Pragma : no-cache

-HTTP/1.1 하위호환

 

Expires (초단위가 더 좋음)

캐시 만료일 지정(하위 호환) (초단위가 아닌 날짜로 지정)

-esppires : mon,10 Jan 1990 00:00:00 GMT

 

-캐시 만료일을 정확한 날짜로 지정

-HTTP 1.0부터 사용

-지금은 더 유용한 cache-control : max-age권장

-cache-control : max-age와 함꼐 사용하면 expries는 무시된다.

 

검증헤더와 조건부 요청헤더

검증헤더(Validator)

-ETag : "V1.0" , ETag "asd93"(캐시 검증을 위한 검증값)

-last-modified : thu , 04 jun 2020 07:19:24 GMT

(최종 캐시 (데이터) 수정시간)

 

조건부 요쳥헤더

-if-Match , if-none-Match-ETag 값 사용

(ETag가 같은지 다른지에 따라 판단)

-if-modified-since , if-unmodified-since : last-modified 값 사용

(최종 수정일이 변경되었는지 판단.)