2016-11-24 1 views
1

우리는 이미지를 CDN에 저장하는 유스 케이스가 있습니다. a.jpg를 캐시에 저장하고 사용자가 파일의 새 버전을 업로드하면 캐시를 비우고 a.jpg를 덮어 씁니다. 이제는 브라우저가 파일을 캐시했을 수도 있습니다. 우리는 브라우저의 캐시 이미지를 플러시 할 수 없기 때문에 우리는 아래에 언급 된 두 방법 중 하나를 사용하여 생각하고 :CDN에서 최신 버전의 이미지를 가져 오기 위해 etags를 사용할 수 있습니까?

  1. 는 추가를 버전 a_v1.jpg은 a_v2.jpg이가 제거됩니다 (버전 ID가 체크섬입니다) 브라우저 및 CDN 캐시를 비울 필요가 있습니다. 인터넷에 관한 많은 문서를 발견했으며 많은 사람들이이를 사용하고 있습니다.
  2. 파일의 etag를 사용하여 브라우저에서 부실 캐시를 제거하십시오. 그 CDN의 지원 etags 발견하지만 이미지에 대한 etag 사용되는 문학을 찾지 못했습니다.

캐시 해체를 위해 etag 헤더를 사용하는 것에 대한 의견을 공유해 주실 수 있습니까? 이것을 사용하는 것이 좋은 습관입니까?

답변

0

글쎄, 나는 etag을 제안하지 않을 것이다. 이것은 장점이 있지만 좌절감이 있습니다. 두 서버를 실행 한 다음 각 서버에서 제공하는 컨텐츠가 변경 될 수 있다고 가정 해보십시오.

내가 제안하는 것이 가장 좋은 것은 브라우저가 캐싱하는 시간과 시간을 제어하는 ​​것입니다. cdn에서 클라이언트 브라우저로 5 분 TTL로 응답을 보내면 만료 헤더를 보냅니다. 이 방법으로 브라우저는 만기 헤더를 존중합니다. 그리고 만료 된 브라우저는 페이지가 새로 고쳐질 때 새로운 요청을 cdn에 보냅니다.

관련 문제