![]() |
|
||||||||||
|
|||||
|
Цитата:
Вобщем php-шники должны быть в курсе. Кстати, первая строчка сверху в Google, вроде в тему: Настройка времени кеширования запроса апач Цитата:
Цитата:
Последний раз редактировалось expl; 11.09.2010 в 22:11. |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
А я лично отдаю решение вопросов что грузить, что не грузить на усмотрение флэшплеера.
При загрузке приложение скачивает xml-ку с перечнем библиотечных файлов и честно грузит их. Если они уже есть в кэше, они загрузятся сразу, если их там нет (в списке новые версии, пользователь кэш браузера чистил и пр.) - значит загрузятся с сервера. Понятно, что библиотечные файлы должны иметь уникальное собственное имя или уникальное имя каталога, в котором лежат. И чего-то мне кажется, если файл resource003.swf (а еще пуще - resourceConfig.xml) в браузере закэшировался, то никакие пляски с бубном на стороне сервера ничего не изменят. Пользователи смотрят приложение через такой зоопарк браузеров, что где-нибудь что-нибудь у кого-нибудь закэшируется по-любому. |
|
|||||
|
Цитата:
А по поводу зоопарка бравзеров - чтож, посмотрим, если огребем проблем - сделаем загрузку списка файлов, но пока надеемся на автоматику - все же на один файл меньше грузить и гемора тоже поменьше. Так что пока обкатываем этот подход. |
|
|||||
|
@mikhaik
Цитата:
0) получаем имя необходимого файла 1) смотрим есть ли файл в кеше - да есть 1.1) если есть - посылаем запрос на сервер с указанием даты, когда закешировали файл 1.2) получаем ответ от сервера - изменился файл или нет с той поры 1.3) если не изменился - грузим из кеша 2) файла нет в кеше или он устарел - грузим заново И это есть общепринятый алгоритм для всех браузеров. Так что, по идее, если файл есть в кеше - все зависит от сервера @expl Цитата:
Первый вариант не подходит в силу своей бесполезности. Второй - в силу того, что наши серверники любят экономить запросы к БД и бьют меня линейкой за такое предложение =) Может есть еще какой-то мистический 3-й вариант, но пока, на мой взгляд, он один - грузить конфиги с версиями во флеш, а уже оттуда обращаться с дописыванием версии в конец запроса. UPD Да, для Apache 2.1 модуль mod_mem_cashe перестал быть экспериментальным и позволяет хранить в оперативной памяти сервера дату последней модификации файла. Но memCahse? стоит ли оно того в данном случае?
__________________
...вселенская грусть Последний раз редактировалось gloomyBrain; 12.09.2010 в 01:53. |
|
|||||
|
Цитата:
Цитата:
Надо попытать нашего сервериста на предмет этих граблей Последний раз редактировалось expl; 12.09.2010 в 12:03. |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Цитата:
Я как раз сейчас последний проект работал в команде, где второй AS3-программист исходил именно из этого. По каждому уровню у него грузилось несколько файлов - и xml-ки и картинки и swf-ки и 3ds-модельки... Уровней более 10, т.е всего около сотни файлов. Когда уже приложение было собрано и начали активно дорабатывать и заменять уровни, влетели в проблему с кэшированием по полной. ![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А у нас был xml-файлик с timestamp-ами всех файлов. Загрузка файликов производилась по ссылке file.ext?12345678. xml-файлик при это обновлялся после обновления файла. В результате старые файлы не загружались по новой, а новые — из кеша.
|
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
а что происходило, если пользователь у себя кэш почистил ручками?
или там для старых было без "?12345678" ? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
Для всех файлов был указан timestamp. |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|