Кэширование CSS IIS
Когда мы разрабатываем новые сайты или тестируем изменения в новых, которые включают css после того, как новый код зафиксирован, и кто-то идет проверять изменения, они всегда видят кешированную версию старого css. Это вызывает множество проблем при тестировании, потому что люди никогда не уверены в том, что у них есть последний css на экране (я знаю, что сдвиг и щелчок по обновлению очищают этот кеш, но я не могу ожидать, что конечные пользователи узнают об этом). Каковы мои возможные решения?
Ответы
Ответ 1
Если вы обслуживаете свой CSS из статических файлов (или чего-либо, что строка запроса не имеет значения для), попробуйте изменить это, чтобы убедиться, что браузер делает новый запрос, так как он будет думать, что он потянул ресурс, так например:
"styles.css? token = 1234" в ссылке CSS в вашей разметке и изменить значение "токена" при каждой регистрации CSS
Ответ 2
В вашей среде разработки установите заголовок Expires намного ниже. В своей производственной среде установите его выше, а затем установите его за неделю до того, как вы сделаете свой выпуск.
Ответ 3
Это не отличное решение, но я уже об этом говорил на уровне страницы, добавляя к концу вызова в файл CSS запрос:
<link href="/css/global.css?id=3939" type="text/css" rel="stylesheet" />
Затем я бы рандомизировал значение id так, чтобы он всегда загружал другое значение при загрузке страницы. Тогда я выберу этот код, прежде чем перейти к производству. Я полагаю, вы могли бы также вывести значение из файла конфигурации, так что его нужно будет загружать только один раз за фиксацию.
Ответ 4
Подобные (немного более подробно) ответы, приведенные для версии JavaScript этого вопроса, которая имеет ту же проблему/решение
Справка по агрессивному кешированию JavaScript