캐시 검증 헤더의 종류와 사용법

N·2022년 7월 20일
0

기술면접

목록 보기
10/10
  • 캐시는 유효시간이 초과하면 다시 요청을 보내 새로운 데이터로 캐시를 업데이트한다. 그러나 만약 캐시 유효시간이 지났지만 변경이 없기 때문에 해당 데이터를 써도 되는 상황이라면 이를 검증하고 사용할 수 있다.

  • 캐시 검증 헤더1: Last Modified, 응답 결과를 캐시에 저장할 때 데이터 최종 수정일도 저장하고 데이터가 마지막으로 수정된 시간 정보가 Last Modified 헤더에 담긴다.

  • 캐시 검증 헤더2: etag, 캐시용 데이터에 임의의 고유한 버전 이름을 달아두고 데이터가 변경되면 이 이름을 바꿔서 변경한다(Hash를 다시 생성)

  • 조건부 요청 헤더인 If-Modified-Since, If-None-Match와 함께 사용된다. -> 캐시의 유효시간이 초과되더라도 조건부 요청을 할 수 있다.

    • If-Modified-Since: 캐시된 리소스의 Last-Modified 값 이후에 서버 리소스가 수정되었는지 확인하고, 수정되지 않았다면 캐시된 리소스를 사용
    • If-None-Match는 캐시된 리소스의 ETag 값과 현재 서버 리소스의 ETag 값이 같은지 확인하고, 같으면 캐시된 리소스를 사용
  • 보통 캐시 검증 헤더와 조건부 요청 헤더를 동시에 사용

profile
web

0개의 댓글