Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.09.2010, 21:56
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 11  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
А по-подробнее
Вот поподробнее не могу - апач настраивал серверист.
Вобщем php-шники должны быть в курсе.

Кстати, первая строчка сверху в Google, вроде в тему:
Настройка времени кеширования запроса апач

Цитата:
у меня обычно так - при сборке приложения в рантайме основной модуль загружает с сервера список модулей с их версиями. Далее в конец запроса добавляется номер последней версии и все, что не обновилось, берется из кеша
Раньше так мы и делали, только не версию, а дату последнего изменения скрипт выдирал

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


Последний раз редактировалось expl; 11.09.2010 в 22:11.
Старый 11.09.2010, 23:46
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 12  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
А я лично отдаю решение вопросов что грузить, что не грузить на усмотрение флэшплеера.

При загрузке приложение скачивает xml-ку с перечнем библиотечных файлов и честно грузит их. Если они уже есть в кэше, они загрузятся сразу, если их там нет (в списке новые версии, пользователь кэш браузера чистил и пр.) - значит загрузятся с сервера. Понятно, что библиотечные файлы должны иметь уникальное собственное имя или уникальное имя каталога, в котором лежат.

И чего-то мне кажется, если файл resource003.swf (а еще пуще - resourceConfig.xml) в браузере закэшировался, то никакие пляски с бубном на стороне сервера ничего не изменят. Пользователи смотрят приложение через такой зоопарк браузеров, что где-нибудь что-нибудь у кого-нибудь закэшируется по-любому.

Старый 12.09.2010, 00:09
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 13  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Сообщение от mikhailk Посмотреть сообщение
И чего-то мне кажется, если файл resource003.swf (а еще пуще - resourceConfig.xml) в браузере закэшировался, то никакие пляски с бубном на стороне сервера ничего не изменят. Пользователи смотрят приложение через такой зоопарк браузеров, что где-нибудь что-нибудь у кого-нибудь закэшируется по-любому.
Ну, я бы не называл использование функционала http плясками с бубном (.htaccess всего-навсего поправить)
А по поводу зоопарка бравзеров - чтож, посмотрим, если огребем проблем - сделаем загрузку списка файлов,
но пока надеемся на автоматику - все же на один файл меньше грузить и гемора тоже поменьше. Так что пока обкатываем этот подход.

Старый 12.09.2010, 00:18
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 14  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
@mikhaik
Цитата:
если файл resource003.swf (а еще пуще - resourceConfig.xml) в браузере закэшировался, то никакие пляски с бубном на стороне сервера ничего не изменят.
На сколько я знаю, процесс загрузки происходит примерно так:

0) получаем имя необходимого файла

1) смотрим есть ли файл в кеше - да есть
1.1) если есть - посылаем запрос на сервер с указанием даты, когда закешировали файл
1.2) получаем ответ от сервера - изменился файл или нет с той поры
1.3) если не изменился - грузим из кеша

2) файла нет в кеше или он устарел - грузим заново

И это есть общепринятый алгоритм для всех браузеров. Так что, по идее, если файл есть в кеше - все зависит от сервера

@expl
Цитата:
Тут уж кому что - кому удобнее написать простенький скрипт и грузить его флешкой (у нас постоянно там какой-нибудь файл забывали добавить), а кому проще настроить сервер и не париться с этим на клиенте
Сервер может пойти двумя путями - либо выдавать заголовок last-modified с текущей датой (тогда можно считать, что в кеш ничего не попадает), либо сохранять какой-то конфиг в БД и при каждом запросе отдавать last-modified оттуда.
Первый вариант не подходит в силу своей бесполезности.
Второй - в силу того, что наши серверники любят экономить запросы к БД и бьют меня линейкой за такое предложение =)

Может есть еще какой-то мистический 3-й вариант, но пока, на мой взгляд, он один - грузить конфиги с версиями во флеш, а уже оттуда обращаться с дописыванием версии в конец запроса.

UPD
Да, для Apache 2.1 модуль mod_mem_cashe перестал быть экспериментальным и позволяет хранить в оперативной памяти сервера дату последней модификации файла. Но memCahse? стоит ли оно того в данном случае?
__________________
...вселенская грусть


Последний раз редактировалось gloomyBrain; 12.09.2010 в 01:53.
Старый 12.09.2010, 12:01
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 15  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Сервер может пойти двумя путями - либо выдавать заголовок last-modified с текущей датой (тогда можно считать, что в кеш ничего не попадает), либо сохранять какой-то конфиг в БД и при каждом запросе отдавать last-modified оттуда.
Первый вариант не подходит в силу своей бесполезности.
Второй - в силу того, что наши серверники любят экономить запросы к БД и бьют меня линейкой за такое предложение =)
Цитата:
Да, для Apache 2.1 модуль mod_mem_cashe перестал быть экспериментальным и позволяет хранить в оперативной памяти сервера дату последней модификации файла. Но memCahse? стоит ли оно того в данном случае?
Даже так...
Надо попытать нашего сервериста на предмет этих граблей


Последний раз редактировалось expl; 12.09.2010 в 12:03.
Старый 12.09.2010, 20:06
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 16  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
@mikhaik

На сколько я знаю, процесс загрузки происходит примерно так:

0) получаем имя необходимого файла

1) смотрим есть ли файл в кеше - да есть
1.1) если есть - посылаем запрос на сервер с указанием даты, когда закешировали файл
1.2) получаем ответ от сервера - изменился файл или нет с той поры
1.3) если не изменился - грузим из кеша

2) файла нет в кеше или он устарел - грузим заново

И это есть общепринятый алгоритм для всех браузеров. Так что, по идее, если файл есть в кеше - все зависит от сервера
Не буду спорить.

Я как раз сейчас последний проект работал в команде, где второй AS3-программист исходил именно из этого. По каждому уровню у него грузилось несколько файлов - и xml-ки и картинки и swf-ки и 3ds-модельки... Уровней более 10, т.е всего около сотни файлов. Когда уже приложение было собрано и начали активно дорабатывать и заменять уровни, влетели в проблему с кэшированием по полной.

Старый 13.09.2010, 11:54
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 17  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А у нас был xml-файлик с timestamp-ами всех файлов. Загрузка файликов производилась по ссылке file.ext?12345678. xml-файлик при это обновлялся после обновления файла. В результате старые файлы не загружались по новой, а новые — из кеша.

Старый 13.09.2010, 12:50
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 18  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
а что происходило, если пользователь у себя кэш почистил ручками?
или там для старых было без "?12345678" ?

Старый 13.09.2010, 13:38
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 19  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от mikhailk Посмотреть сообщение
а что происходило, если пользователь у себя кэш почистил ручками?
или там для старых было без "?12345678" ?
Если он почистил кеш, то он будет грузить все заново в любом случае.

Для всех файлов был указан timestamp.

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:50.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:50.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.