Hyunebee

모든 개발자를 위한 HTTP 웹 기술 - 캐시와 조건부 요청 본문

HTTP

모든 개발자를 위한 HTTP 웹 기술 - 캐시와 조건부 요청

Hyunebee 2022. 1. 9. 13:43

 

캐시 유효 시간이 초과해서 서버에 다시 요청하면 다음 두 가지 상황이 나타난다.

 

1. 서버에서 기존 데이터를 변경함

  - 캐시를 갱신하고 다시 네트워크에서 받아야함

2. 서버에서 기존 데이터를 변경하지 않음

 변하지 않았다면 데이터를 전송하는 대신에 저장해뒀던 로컬 캐시를 다시 사용할 수있다. but 서버에 있는 데이터가 변하지 않았다는것     을 확인 할 수 있어야 한다. -> 검증헤더 사용

 

검증 헤더 1 + 조건부 요청 헤더

응답 헤더에 304 Not Modified 를 붙혀서 보냄 이떄 body는 제외

  

검증 헤더 2 + 조건부 요청 헤더(ETag)

Etag - 캐시용 데이터에 임의의 고유한 버전 이름을 달아둠 -> 데이터가 변경되면 이 이름을 바꾸어 변경함

변경되지 않았음으로 유지 

캐시 제어 로직을 서버에서 완전히 관리

클라이언트는 단순히 이 값을 서버에 제공 - 블랙박스