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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.03.2010, 13:32
Tr1te вне форума Посмотреть профиль Отправить личное сообщение для Tr1te Найти все сообщения от Tr1te
  № 1  
Ответить с цитированием
Tr1te
 
Аватар для Tr1te

Регистрация: Jun 2009
Сообщений: 461
Question Про кэш броузеров и Loader.

Флэш запускается из броузера.
Во флеше создан класс(1).
И есть другой класс(2), в котором прописана загрузка с сервера картинки.

И многократно, к главному (1) добавляю (addChild) класс(2). Что Loader будет делать в такой ситуации.

-Сначала, проверит кэш броузера, есть ли такая же картинка (по названию). И если есть то просто загрузит из кэша.

-Или будет у сервера узнавать какая картинка (например хэш), и сравнивать с кэшем броузера. И если есть то просто загрузит из кэша.

-Или будет все время загружать картинку с сервера.

Старый 23.03.2010, 13:59
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 2  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
-Сначала, проверит кэш броузера, есть ли такая же картинка (по названию). И если есть то просто загрузит из кэша.
__________________
мой пустой блог

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

Регистрация: Jun 2009
Сообщений: 461
Тоесть можно подсунуть любую картинку в кэш с одноименным названием и он ее загрузит.

Старый 23.03.2010, 14:12
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 4  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
по-моему смотрит что хочет загрузить лоадер, сравнивает с кэшем, если есть, то из кэша, только по-моему смотрит не только по названию.

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

Регистрация: Jun 2009
Сообщений: 461
Цитата:
Сообщение от AlexDesinger Посмотреть сообщение
только по-моему смотрит не только по названию.
Ну значит все таки он обращается к серверу. Потому что кроме названия на клиенте ничего нет.

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

Регистрация: Jan 2009
Сообщений: 1,651
интересно мне, как ты в кеш еу картинку подсунешь
__________________
мой пустой блог

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

Регистрация: Jun 2009
Сообщений: 461
Это уже другой топик. А пока...

Ну значит все таки он обращается к серверу при каждом создании loader'а?

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

Регистрация: Jan 2009
Сообщений: 1,651
нет он не обращается к серверу больше если в кеше лежит картинка с таким же ПОЛНЫМ путём.
__________________
мой пустой блог

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

Регистрация: Jun 2009
Сообщений: 461
Большое спасибо.

Старый 25.03.2010, 18:03
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 10  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от Tr1te Посмотреть сообщение
Тоесть можно подсунуть любую картинку в кэш с одноименным названием и он ее загрузит.
Забавно, но поведение при загрузке флешом и браузером различаются.

Имеем уже загруженную картинку в кеше IE.

Если загружаем эту же картинку с помощью IE, то он отправит серверу запрос с заголовком If-Modified-Since.

Код:
GET /r/blogs/wait.gif HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0)
If-Modified-Since: Wed, 02 May 2007 17:31:13 GMT
Host: img.mail.ru
Ну а дальше зависит от сервера - либо 303 Not Modified,

Код:
HTTP/1.1 304 Not Modified
Server: nginx/0.7.62
Date: Thu, 25 Mar 2010 13:37:31 GMT
Last-Modified: Wed, 02 May 2007 17:31:13 GMT
Expires: Thu, 01 Apr 2010 13:37:31 GMT
либо 200 OK.

Код:
HTTP/1.1 200 OK
Server: nginx/0.7.62
Date: Thu, 25 Mar 2010 14:02:43 GMT
Content-Type: image/gif
Content-Length: 1185
Last-Modified: Wed, 02 May 2007 17:31:13 GMT
Expires: Thu, 01 Apr 2010 14:02:43 GMT
Cache-Control: max-age=604800
Кстати, нажали Ctrl+F5, браузер шлет запрос без этого заголовка. Сервер честно отдает полный контент.


Если загружаем флешем, то флеш без вопросов воспользуется кешем и браузер даже не будет создавать запрос.

Чем это вредит? Вы обновили контент на сервере, а "мужики-то и не узнают".

Однако можно воспользоваться волшебным query string.
http://img.mail.ru/r/blogs/wait.gif?random=122222, где значение random генерируется случайным образом на флеше.

Чем это вредит? Каждый раз мужики загружают контент. Они тихо матерятся на неторопливость загрузки. У этой неторопливости два аспекта:

1) Высокая нагрузка на сервер, ведь ему приходится вместо краткого 304 Not Modified пересылать контент.
2) Ограниченная пропускная способность канала связи. Льем N метров графики. Значение N подставьте сами.

Исключить такое неджентельменское поведение можно лишь приняв комплекс мер.

Мое решение и оно успешно работает.
С сервера скачивается конфиг, в котором присутствуют сгенеренные ссылки на контент типа
r/blogs/wait.gif?ut=28289123. Т.е. генерация query string переносится на плечи сервера. Очень удобно использовать timestamp времени создания файла. Залили новый контент и флеш вытягивает только обновленные файлы.

По Вашему вопросу. Верно высказывание.
Цитата:
-Сначала, проверит кэш броузера, есть ли такая же картинка (по названию). И если есть то просто загрузит из кэша.
IE6 можно было подсунуть другой контент. Необходимо, чтобы совпадали размер (в байтах) и имя файла в кеше IE, например image[1].png. В более современных версиях IE не копался.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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