Можно ли установить срок действия содержимого на сервере (IIS), чтобы принудительно загрузить новую версию файла сценария? - PullRequest
1 голос
/ 09 августа 2011

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

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

Если нет, то есть ли какие-либо советы по эффективному решению этой проблемы?

Ответы [ 2 ]

3 голосов
/ 09 августа 2011

Способ, которым rails это делает, заключается в добавлении числа в конец файлов, на которые они ссылаются.Вы можете добавить число в конец файла и изменить его в новой сборке

<script src="jquery.js?r=2301293123"/>
1 голос
/ 09 августа 2011

Добавление номера версии к имени файла является наиболее эффективной версией гарантии того, что на всех клиентах установлена ​​самая последняя версия. Браузер увидит его как новый файл.

Браузер будет кэшировать ресурс на основе заголовков кэширования HTTP . Если говорят, что файл CSS (например) действителен в течение определенного периода времени, он не будет пытаться повторно загрузить его до того, как это время пройдет. Это работает на уровне ресурсов, поэтому вы не можете указать браузеру, что данный ресурс действительно истек, пока он не попытается его загрузить.

...