캐시는 유효시간이 초과하면 다시 요청을 보내 새로운 데이터로 캐시를 업데이트한다. 그러나 만약 캐시 유효시간이 지났지만 변경이 없기 때문에 해당 데이터를 써도 되는 상황이라면 이를 검증하고 사용할 수 있다.
캐시 검증 헤더1: Last Modified, 응답 결과를 캐시에 저장할 때 데이터 최종 수정일도 저장하고 데이터가 마지막으로 수정된 시간 정보가 Last Modified 헤더에 담긴다.
캐시 검증 헤더2: etag, 캐시용 데이터에 임의의 고유한 버전 이름을 달아두고 데이터가 변경되면 이 이름을 바꿔서 변경한다(Hash를 다시 생성)
조건부 요청 헤더인 If-Modified-Since, If-None-Match와 함께 사용된다. -> 캐시의 유효시간이 초과되더라도 조건부 요청을 할 수 있다.
보통 캐시 검증 헤더와 조건부 요청 헤더를 동시에 사용