캐시의 등장 배경은 같은 데이터를 요청 할때에 전에 받았던 것임에도 불구하고 다시 요청을 하면 수정사항이 없음에도 새로 다시 보내주어야 한다는 단점에서 나왔다.
캐시의 작동 방법은 첫번째 요청에는 서버에서 값을 주고, 이때에 캐시에도 저장을 합니다. 그리고 캐시 유효기간안에 클라이언트가 다시 요청을 한다면 캐시에서 정보를 꺼내어 주는 방식이다.
이때 캐시 유효 시간이 초과한다면 다시 서버에서 데이터를 보내 주면서 캐시의 시간을 갱신한다.
그런데 위의 방법을 더 효율적으로 사용할 수 없을까 고민하여 고안 된것이 검증 헤더이다.
이 검증헤더는 데이터가 바뀌었는지를 검증하여 바뀌지 않았다면 캐시의 유효시간이 지났어도 캐시의 데이터를 꺼내어 사용한다.
이 일련의 과정을 검증 헤더와 조건부 요청이라고 한다.
검증 헤더로는 수정시간이나 Etag를 활용한다.
프록시 캐시
프록시 캐시란 클라이언트가 원 서버까지 도달하는데에 있어서 너무 멀다면 중간에 프록시 캐시 서버를 두어서 먼저 처리를 하는 방식이다.