![]() |
Кэширование подгружаемых объектов
Привет
Кто-нибудь интересовался вопросом кэширования подгружаемых во флешку внешних картинок/мувиков/данных? Поскольку процесс загрузки полностью скрыт за loadMovie, ни о каком влиянии на обмен HTTP заголовками между удаленным сервером и флешем наверное и речи быть не может. Чисто субъективно кэширования нет: флешу пофиг, старая ли твоя картинка или нет, то же самое при закачке XML. Или я не прав и на это можно влиять? |
Не прав насчет того, что не кешируется. Кеширует браузер.
|
Кэширует первую флэшку, будь то прелодер или просто свиф(пустой), дальше все грузится заново.
|
2 etc
Браузер кэширует. Если вебсервер, конечно, заголовки шлет. Но дело в том, что, как говорит kayama, баннер-то тянет то картинки в себя будучи уже на клиентской машине. И вот тут проверяется-ли загружаемая флешкой инфа на момент необходимости обновления... |
К имени фала добавляешь случайное значение и у тебя всегда "самое свежее"
|
:-)
Дело в том, что мне самое свежее и не надо. Мне надо чтобы он проверял, обновился ли документ на сервере, который он тянет или нет. Вот посмотрю заголовки, которые он посылает, все станет ясно. |
Обясню мой случай: баннер тянет на себя XML с сервера. Этот XML обновляется в среднем раз в неделю, смысла тянуть его каждый раз нет.
|
В случае применения кэширования, при отсутствии на сервере обновленной версии все коммуникации баннера с сервером ограничиваются обменом HTTP заголовками.
|
Ну так пропишите в заголовке кеширование на неделю... Запрос файла делает браузер, а не флешка.
В чём проблема? |
Вот нарисовалась проблема в общих чертах, хотя, впрочем уже и решение есть.
Факты: 1.Весь обмен HTTP-заголовками в случае встроенного в HTML флеша осуществляется браузером на общих основаниях. 2.Скрипт генерит XML. 3.Браузер НЕ проверяет кэширование скриптов (логично, да?), но проверяет кэширование картинок, котороые мы грузим во флеш и XML файлов. Возникает идея через mod_rewrite заставить его думать, что он обращается к XML. 4.Идея эта оказывается бредовая, поскольку нет смысла проверять дату, когда изменился скрипт, ибо влияет только фактор, когда изменились данные, которые отдает скрипт. Выход - генерить статический XML файл каждый раз, когда в данных происходят изменения. В этом случае будет работать кэширование и XML документы не будут таскаться по сети. |
Все-таки тут есть проблема. Я не знаю логику работы флеша, но по каким-то своим внутренним соображениям он запрашивает у сервера "изменился ли файл", который надо XML.load(), только несколько раз, а потом даже перестает обращаться к серверу и все время показывает одно и то же, причем ctrl+f5 браузера не помогает.
Тут на форуме есть только один вариант решения (на сколько я понял): дописывать к имени запрашиваемого файла уникальную строку. К сожалению, в этом случае мы полностью лишаем себя тех прекрасных средств кэширования, которые предоставляет HTTP протокол. При запросе статического контента браузер спрашивает у сервера: "а изменился ли этот файл со времени последней его скачки?". И он забирает его только в том случае, если файл изменился. В случае же с флешем, он работает непрозрачно, то есть он как-то сам определяет, передавать ли браузеру запрос на файл или нет. Это, конечно, большой недостаток. Уж и не знаю, существует ли способ порешить его... |
| Часовой пояс GMT +4, время: 04:08. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.