Кэширование ресурсов браузера (изображения, Javascript, CSS) - PullRequest
0 голосов
/ 06 января 2012

У меня проблемы с кэшированием на веб-сайте, над которым я работаю над обновлением.Многие ресурсы, которые я обновил (javascript, css и файлы изображений), по-видимому, локально кэшируются браузерами.Что я не могу понять, так это почему или как решить проблему с переименованием всего, что я редактировал (что не очень привлекательное решение).

Сервер генерирует следующее в http-заголовках.

Date Fri, 06 Jan 2012 00:09:32 GMT
Server  Apache/2.2.16 (Amazon)
X-Powered-By    PHP/5.3.5
Expires Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control   no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma  no-cache
Content-Length  3636
Connection  close
Content-Type    text/html; charset=UTF-8

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

Есть какие-либо идеи о том, как решить эту проблему или рекомендации?

1 Ответ

0 голосов
/ 14 февраля 2012

Сделав небольшой шаг вперед, я решил поместить все мои ресурсы, которые могут кэшироваться, в версионные папки (т.е. css-1.2.1, js-1.2.1 и т. Д.).Каждый раз, когда я обновляю сайт, я просто увеличиваю свои номера версий (я синхронизирую все номера версий).Это неоптимально с точки зрения оптимизации кэша, но это означает, что мне не нужно отслеживать отдельные номера версий для каждого ресурса.Поскольку я не буду обновлять сайт каждые четыре часа, это будет означать, что пользователям придется загружать новый набор ресурсов каждый раз, когда я обновляю сайт.

...