@ince

Может ли браузер закэшировать передаваемые ему js-файлы?

Может ли браузер закэшировать передаваемые ему js-файлы?
Допустим он при запросе сообщает серверу хэш кэша, который у него есть. Сервер сравнивает хэши кэша и подготовленных к отправке js-файлов и либо обновляет их (отдает новые), либо сообщает, что изменений нет.
  • Вопрос задан
  • 186 просмотров
Решения вопроса 2
flapflapjack
@flapflapjack
на треть я прав
Дык кеш так и работает.
Если в хедере не пришло pragma: no-cache, то кеширует
Ответ написан
Комментировать
DevMan
@DevMan
это работает немножко иначе.
браузер получает ресурс (определенный файл, с определенным адресом и именем) и сохраняет его в кэш (если сервер явно не указал, что не надо кэшировать/кэшировать на определенное время). все последующие запросы по этому адресу/имени будут браться с кэша (если он не протух), а не сервера. нет никакой необходимости что-то передавать на сервер, и что-то там сравнивать.
именно поэтому в именах файлов используют хэши или версии/время.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
По-умолчанию - именно так и работает.

Но можно сделать свою систему кеширования в localStorage.
Обычно, это необходимо для SPA/PWA одностраничных приложений со сложной логикой обработки данных в js и с полным контролем статуса сетевого соединения, т.к необходима корректная работа при полном отсутствии интернет-соединения: offline-режим.
Ответ написан
Комментировать
SagePtr
@SagePtr
Еда - это святое
Если нужна какая-то сложная логика кеширования, можно попробовать использовать ServiceWorker
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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