URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7915
[ Назад ]

Исходное сообщение
"Почему кэширование иногда не видит что файл изменился?"

Отправлено Roman , 23-Окт-14 21:19 
Доброго времени суток, подскажите пожалуйста, почему при кэшировании по умолчанию, иногда получается так что файл (js/css) изменился, а браузер его не обновляет? В случае с HTML я принудительно отключаю кэш, т.к. в подавляющем большинстве случаев динамика, и работает железно, а вот js/css хотелось бы кешировать пока файл не изменится. Это если я правильно понимаю должно происходить по умолчанию, т.к. браузеры и серверы отсылают разные etag, if-modified, not modified и т.п, и при тестировании вроде все ок. Однако иногда проскакивают случаи - открываешь страницу а js/css старые (все разъехалось) в чем тут дело? как лечить? приписывать ?v2 както не красиво, почему иногда не срабатывает стандартный механизм?

Содержание

Сообщения в этом обсуждении
"Почему кэширование иногда не видит что файл изменился?"
Отправлено Roman , 23-Окт-14 21:28 
P.S. Проверяю в Firefox, лог сети показывает что иногда при загрузке страницы запрашивается только она и еще один css, а остальные ресурсы даже и не запрашиваются, т.е. получается что сервер может быть и ответил бы что ресурс изменен, но браузер его даже и не проверяет, не в этом ли дело? Тогда как заставить браузер всегда проверять изменился ресурс или нет?

"Почему кэширование иногда не видит что файл изменился?"
Отправлено Etch , 24-Окт-14 16:16 
http://habrahabr.ru/post/204464/
Cache-Control: max-age=3600, must-revalidate

"Почему кэширование иногда не видит что файл изменился?"
Отправлено Roman , 24-Окт-14 19:19 
> http://habrahabr.ru/post/204464/
> Cache-Control: max-age=3600, must-revalidate

Хм, т.е. must-revalidate? Попробую, спасибо)