Как: пользовательское предотвращение кэширования? - PullRequest
0 голосов
/ 22 декабря 2010

После ответа symcbean я решил изменить свой вопрос на:

Как правильно хранить кеш только изображений / css / js? HTML не будет кэшироваться ни в одном веб-браузере.

Ответы [ 2 ]

0 голосов
/ 22 декабря 2010

Иди почитай несколько хороших книг на эту тему - или спецификации.Вы в настоящее время очень плохо информированы.

Обычный «трюк» должен использовать:

Обычный для кого?Настройка Pragma: no-cache не имеет ничего общего с тем, что браузер кэширует .Установка Expires в -1 должна предотвратить кеширование текущего документа - но его атрибут ТОЛЬКО HTTP / 1.0 - HTTP / 1.1 широко используется в течение последних 8 лет.

Однако этоочень дорогое решениеСтоимость состоит в том, чтобы получить все изображения, файлы CSS и JavaScript в каждом запросе

Нет - приведенный вами пример - тег HTML - который может только появляться вHTML-файлПо умолчанию (т.е. в отсутствие каких-либо конкретных направлений кэширования) браузеры «МОГУТ» использовать кэшированный файл - по моему опыту, только некоторые мобильные устройства, которые кэшируют так агрессивно - но ни одно из них не реализует требование предупреждать пользователя об этом (см.rfc 2616 13.1.5).

Инструкции кэширования (и даже все метаданные) следует отправлять в заголовках HTTP - в некоторых случаях теги META предоставляют суррогатный механизм.

ИмеютGoogle для учебника кэширования Марка Ноттингема - это хорошая отправная точка - но только отправная точка.

0 голосов
/ 22 декабря 2010

Настройте сервер для отправки заголовков Pragma: no-cache и Expires: ... с html-содержимым. это просто сделать с apache в .htaccess, просто добавьте секцию files с шаблоном, который соответствует любому файлу .html и установите там заголовки, используя mod_headers или еще лучше mod_expires

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...