camka
не самка
Заставить браузер обновить объект в локальном кеше.
Имеется html страница. На ней изображения. Для уменьшения нагрузки на сервер, поскольку изображения практически никогда не меняются, использую mod_expires.
То есть, при первом запросе браузера к серверу отдается изображение и вместе с ним заголовки, говорящие браузеру, что он может положить их в свой кеш и больше не тревожить сервер своими запросами, когда ему понадобится это изображние, а брать его из своего локального кеша.
Все бы ничего, но в исключительных случаях требуется обновить изображение в кеше браузера до истечения времени жизни этого кешированного объекта, и запросить изображение у сервера заново, как будто его в локальном кеше и нету, и, соответственно обновить локальный кеш новоиспеченным объектом, чтобы в дальнейшем использовать именно его для отображения на странице.
Хорошая новость в том, что скрипт, отображающий страницу, знает, когда надо обновить изображения.
Плохая новость в том, что скрипт никак не может попросить браузер обновить эти изображения, поскольку они являются совершенно другими документами, и запрашиваются отдельно от скрипта, как и диктует специфика http протокола.
Таким образом, насколько я понимаю, никакими заголовками для самой страницы невозможно подать директиву браузеру, чтобы он обновил полностью весь контент для этой страницы, включая изображения, находящиеся на ней, запросив их у сервера, не взирая на то, что они все еще присутствуют в локальном кеше.
Вот было бы что-то типа
дак ведь нету.
Может как-то, используя javascript, возможно перезапросить эти изображения у сервера?
Решение с добавлением случайной строки к имени изображения <img src="image.jpg?rnd=alhgkna"> не рассматривается, поскольку необходимо именно обновление локального кеша, а при данной реализации в кеш просто добавляется еще один объект, и при последующих запросах к <img src="image.jpg"> опять будет браться старая версия изображения.
Имеется html страница. На ней изображения. Для уменьшения нагрузки на сервер, поскольку изображения практически никогда не меняются, использую mod_expires.
То есть, при первом запросе браузера к серверу отдается изображение и вместе с ним заголовки, говорящие браузеру, что он может положить их в свой кеш и больше не тревожить сервер своими запросами, когда ему понадобится это изображние, а брать его из своего локального кеша.
Все бы ничего, но в исключительных случаях требуется обновить изображение в кеше браузера до истечения времени жизни этого кешированного объекта, и запросить изображение у сервера заново, как будто его в локальном кеше и нету, и, соответственно обновить локальный кеш новоиспеченным объектом, чтобы в дальнейшем использовать именно его для отображения на странице.
Хорошая новость в том, что скрипт, отображающий страницу, знает, когда надо обновить изображения.
Плохая новость в том, что скрипт никак не может попросить браузер обновить эти изображения, поскольку они являются совершенно другими документами, и запрашиваются отдельно от скрипта, как и диктует специфика http протокола.
Таким образом, насколько я понимаю, никакими заголовками для самой страницы невозможно подать директиву браузеру, чтобы он обновил полностью весь контент для этой страницы, включая изображения, находящиеся на ней, запросив их у сервера, не взирая на то, что они все еще присутствуют в локальном кеше.
Вот было бы что-то типа
Код:
<img src="image.jpg" [B]nocache[/B] >
Может как-то, используя javascript, возможно перезапросить эти изображения у сервера?
Решение с добавлением случайной строки к имени изображения <img src="image.jpg?rnd=alhgkna"> не рассматривается, поскольку необходимо именно обновление локального кеша, а при данной реализации в кеш просто добавляется еще один объект, и при последующих запросах к <img src="image.jpg"> опять будет браться старая версия изображения.
