캐시의 역할은 간단하다 → 서버를 대신하여 HTTP 요구를 충족시키는 객체를 반환하는 것이다.
캐시는 네트워크 혼잡도를 줄여준다. 일반적으로 캐시는 “클라이언트 - 서버” 구조에서 “클라이언트 - 캐시 - 서버” 구조로 이뤄져있다. 사용자 호스트에서 어떤 객체에대한 요청을 보낼때 캐시에 먼저 들려 캐시가 원하는 객체의 사본을 가지고 있는지 확인한다.
만약, 캐시가 가지고 있다면 캐시는 서버로서 요청에대한 응답을하게 된다.
만약, 캐시가 가지고 있지 않다면 캐시는 클라이언트가되어 서버에 요청을 보내 객체에대한 응답을 받아 캐시 내부에 저장한다. 그리고 사용자 호스트에 응답하게 된다.