В PHP я пытаюсь украсть страницу из сборника пьес направляющих (см. 'Используя Метки времени Актива' здесь):
По умолчанию, направляющие добавляет метки времени активов ко всем путям актива. Это позволяет Вам устанавливать дату истечения срока кэша актива далеко в будущее, но все еще мочь немедленно делать недействительным его путем простого обновления файла (и следовательно обновляя метку времени, которая затем обновляет URL, поскольку метка времени является частью этого, которое в свою очередь арестовывает кэш).
Это - ответственность веб-сервера, который Вы используете для установки далеко-будущей даты истечения срока на активах кэша, что необходимо использовать в своих интересах эту функцию. Вот пример для Apache:
# Asset Expiration
ExpiresActive On
ExpiresDefault "access plus 1 year"
Если Вы посмотрите на источник для страницы Rails, то Вы будете видеть то, что они имеют в виду: путь к таблице стилей мог бы быть "/stylesheets/scaffold.css?1268228124"
, где числа в конце являются меткой времени, когда файл обновился.
Таким образом, это должно работать как это:
scaffold.css?1268228124
может кэшироваться в течение года - это не собирается изменяться.'scaffold.css?1268228124
потому что числа изменяются.Я думаю, что это является блестящим. Таким образом, я записал функцию, которая выкладывает теги таблицы стилей и JavaScript с метками времени, добавленными к именам файлов, и я настроил Apache с оператором выше.
Теперь: как я говорю, работают ли кэширование и слом кэша?
Я проверяю свои страницы с двумя плагинами для Firebug: Yslow и Google Page Speed. Оба, кажется, говорят, что мои файлы кэшируются: "Добавьте, истекает, заголовки" в Yslow и "браузере рычагов, кэширующемся" в Скорости Страницы, оба проверяются.
Но когда я смотрю на Действие Скорости Страницы, я вижу много запросов и ожидания и никаких 'удачных обращений в кэш'.
Если я изменяю свою таблицу стилей и перезагрузку, я действительно сразу вижу изменение. Но я не знаю, не кэшировался ли поэтому браузер никогда во-первых или потому что кэш арестован.
Как я могу сказать?
Если кто-либо заинтересовал, я просто записал сообщение в блоге, объяснив детали.
В firebug
вы увидите 304 Not Modified
для кэшированных страниц.
Проверьте, что вы применили эти меры в Apache
- я обнаружил, что вам нужна смесь настроек для всех браузеров.