2012-01-06 1 views
0

업데이트를 위해 노력하고있는 웹 사이트에서 캐싱에 문제가 있습니다. 업데이트 한 많은 리소스 (자바 스크립트, CSS 및 이미지 파일)는 브라우저에서 로컬로 캐시 된 것처럼 보입니다. 내가 이해할 수없는 것은 왜 내가 편집 한 모든 것을 (매우 매력적인 해결책은 아니지만) 이름을 바꾸는 것의 부족한 점을 해결하는 것입니다.브라우저 리소스 캐싱 (이미지, 자바 스크립트, CSS)

서버가 http 헤더에 다음을 생성 중입니다.

Date Fri, 06 Jan 2012 00:09:32 GMT 
Server Apache/2.2.16 (Amazon) 
X-Powered-By PHP/5.3.5 
Expires Thu, 19 Nov 1981 08:52:00 GMT 
Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma no-cache 
Content-Length 3636 
Connection close 
Content-Type text/html; charset=UTF-8

캐시 제어 지시문에서 이해할 수있는 내용에 따라 리소스를 캐시해서는 안됩니다. 이것에도 불구하고, 나는 변화를 업로드 한 후에 업데이트되지 않는 이미지, CSS 및 자바 스크립트 파일을 얻고있다.

이 방법이나 모범 사례를 해결할 수있는 방법에 대한 아이디어가 있습니까?

답변

0

난 거의 캐시에 쓸모없는 리소스를 배치 된 폴더 (즉, css-1.2.1, js-1.2.1 등)에두기로 결정했습니다. 내가 사이트를 업데이트 할 때마다 내 버전 번호가 증가합니다 (모든 버전 번호가 동기화되어 있습니다). 이것은 캐시 최적화 측면에서 차선책이지만 모든 리소스에 대해 개별 버전 번호를 추적 할 필요가 없음을 의미합니다. 4 시간마다 사이트를 업데이트하지 않는다면 사이트를 업데이트 할 때마다 사용자가 새로운 리소스 세트를 다운로드해야한다는 것을 의미합니다.