Манифест кэша Сам кеширование

Действительно поставлен в тупик на этом.

Я пытаюсь кешировать некоторые ресурсы с помощью манифеста кеша HTML5 (да, я знаю, не судите меня), но манифест, кажется, кеширует сам.


Файл манифеста на самом деле представляет собой динамический скрипт PHP, поэтому он имеет расширение.php.


Устанавливаются следующие заголовки ( Как мне полностью отключить кэширование в 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 в том же каталоге, содержащий это:

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType text/cache-manifest "access plus 0 seconds"
</IfModule>

Сайт построен с использованием CakePHP, который, по-видимому, имеет некоторые "полезные" механизмы кэширования, о которых я мало что знаю. Я бы предположил, что заголовки PHP обойдут все что угодно... PHP может сделать.


Итак, что мне не хватает?

2 ответа

На самом деле, похоже, что один из них работал. Кэшу требуется более 30 секунд, чтобы понять, что ему нужно обновить.

Работа манифеста кеша заключается в том, что для обновления самого манифеста некоторый текст внутри манифеста должен измениться, даже если это всего лишь одна буква. Это можно сделать, добавив автоматическую сборку времени каждый раз, когда происходит изменение в коде.

Другие вопросы по тегам