Назад | Перейти на главную страницу

Будет ли при сбросе IIS принудительно пересылаться кешированные элементы?

Я пытаюсь разработать стратегию обработки кешированных файлов javascript, CSS, изображений и т. Д., Когда мы выпускаем обновление для нашего сайта. Прежде чем я перейду к реализации номеров версий в файлах javascript, мне было интересно, будет ли сброс IIS после каждого выпуска эффективно вызывать повторную отправку кешированных файлов.

Когда вы выполняете IISReset, кеш IIS будет очищен, а затем начнет восстанавливаться после того, как начнется резервное копирование по мере поступления клиентских запросов. Если вы обновите файл, старый кешированный файл станет устаревшим, и IIS будет обслуживать обновленный файл и обновить кеш новым файлом.

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

Когда вы изменяете один файл javascript, вам нужны ВСЕ клиенты, на которых запущено веб-приложение, чтобы получить новый файл, мне ясно, что это «недавний».

Чтобы каждый клиент мог получить с сервера новый файл, вам нужно только включить в include / script вашего javascript на веб-странице "?version=1".

Необходимо лишь, чтобы один параметр мог быть ?blue=hello или ?v=1234155 это как ты хочешь. Важно использовать разные значения при каждом изменении javascript. "?version=1" для первой сдачи, "?version=2" для второго изменения полезно знать следующее значение. Также вы можете использовать GUID, если хотите: "?version=4747b320-62ce-11cf-a5d6-28db04c10777" или вы можете использовать дату и время "?version=20130220175025" за 2013/02/20 17:50:25.

Пример # 1

<script type="text/javascript" src="http//..../jquery/1.7.1/jquery.min.js?version=1"></script>

Пример # 2

<script type="text/javascript" src="http//..../jquery/1.7.1/jquery.min.js?k=4747b320-62ce-11cf-a5d6-28db04c10777"></script>

Нет, кэширование клиента основано на сроке действия контента.