LINUX.ORG.RU

обновление сайта, сброс кэша

 , , , ,


0

1

Здравствуйте,

имеется сайт apache+php, стили и скрипты которого раз в несколько месяцев могут быть обновлены. Можно ли на стороне сервера без лишних манипуляций вроде случайных аргументов в url для style и script заставить всех клиентов обновить стили и скрипты? Кэширование старых стилей и скриптов вызывает в некоторых браузерах перекосы и неверную работу.

Какие заголовки отдают файлы стилей и скриптов?

goingUp ★★★★★
()

Смотря как закешено. Браузер вроде двумя макарами умеет кешить.
В первом случае он спрашивает у сервера не изменился-ли файлы (присылая серверу хэш, или время модификации, или ещё чего) закешированной у него копии. В таком варианте вообще ничего делать не надо, клиенты сами перекачают. Но такой вариант всё-же требует запроса к серверу на каждый файл.
Во-втором варианте клиент тупо запоминает что вот этот файл можно не перекачивать ещё n-дней (месяцев, лет, эонов) и даже не дёргает сервер. Это быстро, но при изменении файла кеш не самопротухнет.

Вообще изменение URLа при изменении файла это правильно, это решает проблемы с инвалидацией кешей, но это геморройно да.

MrClon ★★★★★
()

Для этого используют всякие менеджеры ассетов, которые добавляют к именам файлов контрольную сумму (или другую директорию). Потом просто другие файлы запросятся.

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

Без смены урла можно только запретить кеширование вообще. Но это мало кого устроит.

Все остальные варианты - совсем кривые и не имеют смысла.

Vit ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.