Обновление кэшированных изображений / css / js без переименования - PullRequest
3 голосов
/ 27 января 2011

Мне интересно, как люди справляются с обновлением images / css / js в отношении кеша браузера.

Очевидно, что хорошо использовать mod_expires и иметь будущее истечение срока действия и т. Д., Но как вы можете затем обновитьэти файлы, если вы не хотите переименовывать файл все время?

Есть ли у кого-нибудь интересные трюки с номером версии, которые не будут рисковать браузером (или прокси-сервером), не желающим кэшировать файл, нопо-прежнему будет гарантировать, что пользователь увидит новую версию, если она будет обновлена?

Ответы [ 3 ]

0 голосов
/ 27 января 2011

Все эти ресурсы будут обновлены, если вы не измените правила кэширования по умолчанию.Вы можете использовать FireBUG для тестирования.Он вернет 304, если ресурс не был изменен, и 200, если он был изменен.Поэтому, если у вас есть изображение на странице, оно будет проверяться в каждом запросе по умолчанию.

0 голосов
/ 27 января 2011

Я бы добавил параметр строки запроса с отметкой времени последней модификации файла:

http://example.com/script.js?v=123456

Кроме того, вы можете определить глобальную переменную в вашем приложении и использовать ее в качестве отметки времени,Когда вы меняете один из файлов, просто увеличивайте эту переменную.Это означает, что все ваши ресурсы будут признаны недействительными одновременно, но это может быть более простым решением, чем чтение метки времени файла.

0 голосов
/ 27 января 2011

Общий способ сделать это - сгенерировать случайное число и добавить его в качестве переменной GET / POST. Например:

http://example.com/myfile.html?r=189818273

Только мои два цента ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...