Механизм Приложения Google: Как отключить кэш на 'статических' файлах или сделать кэш умным

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

Как я полностью отключаю кэш для *.js файлов? Или возможно вопрос, как иметь его быть умным, как на основе измененной в последний раз даты.

Спасибо!

ОБНОВЛЕНИЕ - Таким образом, это оказывается Chrome Dev (для Mac, по крайней мере) имеет кэширующиеся проблемы, возвращение к Chrome Beta фиксирует все это. Ответы все еще были полезны хотя, спасибо

13
задан adamJLev 15 April 2010 в 15:01
поделиться

2 ответа

На основе документации вы можете указать срок действия кеша для всего приложения:

Если не указано иное, веб-браузеры сохраняют файлы, которые они загружают с веб-сайта в течение ограниченного периода времени.Вы можете определить период глобального кеширования по умолчанию для всех обработчиков статических файлов для приложения, включив элемент default_expiration, элемент верхнего уровня. Вы также можете настроить продолжительность кеширования для конкретного обработчика статических файлов. (Обработчики сценариев могут устанавливать длительность кеширования, возвращая браузеру соответствующие заголовки HTTP.)

default_expiration

Продолжительность времени, в течение которого статический файл, обслуживаемый обработчиком статических файлов, должен быть кэширован в браузере пользователя, если обработчик не указывает собственное истечение срока. Значение представляет собой строку чисел и единиц, разделенных пробелами, где единицы могут быть d для дней, h для часов, m для минут и s для секунд. Например, «4д 5ч» устанавливает срок действия кеша на 4 дня и 5 часов после первой загрузки файла браузером.

default_expiration не является обязательным. Если опущено, поведение по умолчанию - позволить браузеру определять продолжительность своего кэша.

... и если вы хотите указать срок действия для каталога за каталогом:

expiration

Продолжительность времени, в течение которого статический файл, обслуживаемый этим обработчиком, должен быть кэширован в браузере пользователя. Значение представляет собой строку чисел и единиц, разделенных пробелами, где единицы могут быть d для дней, h для часов, m для минут и s для секунд. Например, «4д 5ч» устанавливает срок действия кеша на 4 дня и 5 часов после первой загрузки файла браузером.

Попробуйте установить их на 0d0h или 1s и посмотрите, отключает ли это кеширование полностью.

13
ответ дан 1 December 2019 в 21:24
поделиться

Обычная практика, используемая основными сайтами, - это кэширование документов навсегда, но включение уникального идентификатора на основе версии выпуска или даты в URL-адрес для .js или вызов .css. Например:

<script type="text/javascript" src="static/util.js?version=20100310"></script>

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

13
ответ дан 1 December 2019 в 21:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: