ETag: HTTP 헤더의 ETag는 특정 버전의 리소스를 식별한다.
웹 서버가 내용을 확인하고 변하지 않았으면 이 ETag가 동일한 값을 그대로 가지고 있게 되어 웹 서버로 전체 요청을 보내지 않기 때문에 캐시를 효율적으로 관리 가능
만약 해당 요청의 리소스가 변경되었다면 새로운 ETag가 생성됨
Cache-Control: HTTP 헤더의 Cache-Control 요소를 통해 캐싱을 제어할 수 있다.
Cache-Control의 no-cache라는 속성을 통해 캐시를 사용하기 이전에 서버에 해당 캐시를 사용해도 되는지에 관해 검증 요청을 보낼 수 있다.
no-store 속성을 사용하면 반환된 응답에 대해 브라우저가 캐싱을 하지 않는다.(개인정보 등 priviate한 데이터가 있는 경우 이 속성을 사용할 수 있음)
CDN: Content Delivery Networ의 약자로 분산 노드로 구성된 네트워크다.
성능 향상을 위해 클라이언트의 요청이 같은 서버로 가는 것을 막는다.
CDN은 각 지역의 엔드 유저에 따라 요청을 오리진 서버가 아닌 다른 서버로 가도록 분산시키는 역할을 한는데 이 과정에서 캐싱이 사용된다.
만약 엔드 유저의 요청이 CDN 노드에서 가져올 수 있다면 그 콘텐츠를 전달하지만, 그렇지 못한 경우라면 오리진 서버로 요청을 전송한다. 최초 한 번은 오리진 서버에 반드시 갔다 와야 하므로 느릴 수 있지만, 그 다음부터는 CDN을 통해 빠르게 해당 콘텐츠를 내려받을 수 있다는 장점이 있다.