2012-12-11 3 views
0

정말이 하나에 곤두박질.캐시 매니페스트 캐싱 자체

HTML5 캐시 매니페스트로 일부 리소스를 캐싱하려고합니다. (예, 저를 판단하지 마십시오.)하지만 매니페스트 자체가 캐싱 된 것으로 보입니다.


매니페스트 파일은 실제로 동적 인 PHP 스크립트이므로 확장자는 .php입니다.

( How do I completely disable caching in Cakephp?)

header('Cache-Control: no-store, private, no-cache, must-revalidate');     // HTTP/1.1 
header('Cache-Control: pre-check=0, post-check=0, max-age=0, max-stale = 0', false); // HTTP/1.1 
header('Pragma: public'); 
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');          // Date in the past 
header('Expires: 0', false); 
header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT'); 
header('Pragma: no-cache'); 

header("Content-type: text/cache-manifest"); 
하여 네트워크 섹션에서 다음 매니페스트가 포함

다음 헤더가 설정되어


: 매니페스트 파일 자체는 물론

NETWORK: 
/cachemanifest 
/cachemanifest/ 
/cachemanifest/* 
*/cachemanifest/* 
cachemanifest/ 
cachemanifest 

/cachemanifest/manifest.php 
cachemanifest/manifest.php 

* 

입니다 CACHE : 섹션에서 제외됩니다.


도 포함 동일한 디렉토리에 .htaccess 파일있다이 :

이 사이트는 분명히 내가 돈 '일부'도움 '캐싱 메커니즘이 CakePHP는, 함께 내장되어
<IfModule mod_expires.c> 
    ExpiresActive On 
    ExpiresByType text/cache-manifest "access plus 0 seconds" 
</IfModule> 

별로 몰라. PHP 헤더가 아무 것도 무시할 것이라고 가정합니다 ... PHP는 할 수 있습니다.


그래서 나는 무엇을 놓치고 있습니까?

답변

0

사실,이 중 하나가 효과가있는 것처럼 보입니다. 캐시가 업데이트해야 함을 인식하는 데 30 초 이상 걸립니다.

0

캐시가 작동하는 방식은 매니페스트가 자체를 업데이트하기 위해 매니페스트 내부의 일부 텍스트가 변경되어야한다는 것입니다 (단 하나의 문자 일지라도). 이것은 빌드 자동화가 코드가 변경 될 때마다 타임 스탬프를 추가하게함으로써 가능합니다.

관련 문제