splincodewd
@splincodewd
Developer

Как правильно настроить кеширование для браузера сервером?

Проверял сайт через google speed, он постоянно ругается, что время кеширование моим сервером установлено на 60 минут, а должно быть якобы на 1 год. И тут встает вопрос, если я установлю кеширование на 1 год, то при условии, если я поменяю jQuery со второй версии на третью, но при этом название файла подключаемое в index.html так и остается jquery.min.js, то браузер будет брать из кеша старый файл второй версии и тогда мои обновления поломаются для пользователя.

Что в этом случае делают? Я ведь действительно не могу генерировать для каждого файла в проекте file.[hash].ext генеррировать hash, ибо к примеру, некоторые js файлы импортируют внутри себя асинхронно js-файлы и они опираются на статичное название файла.

Подскажите пожалуйста, что делать в этом случае?
  • Вопрос задан
  • 177 просмотров
Пригласить эксперта
Ответы на вопрос 1
@justpusher
Внесите версию в имя файла.
Обратите внимание, в jQuery CDN, например, все имена файлов содержат версию. И кеширование у них на десять лет. Кстати, можете использовать CDN - это во-первых снимает с вас заботу о кешировании, во-вторых, потенциально ускоряет загрузку для клиента, т.к. у него мог остаться кеш jquery из CDN благодаря другому сайту.

С локальными скриптами можно поступить так: в приложении храните глобальную "версию скриптов", которая увеличивается при каждом коммите (или релизе), и все локальные скрипты грузите с адресов вида script.js?version=xxx. При импортировании передавайте version.

P.S.: я не специалист по фронтенду.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы