Кеширование файлов

Старый mweb

Модератор: [mweb team]

Кеширование файлов

Сообщение PALOMINO Ср фев 28, 2007 17:32

Дамы и господа! Здрасте!
Имеется файл:
Код: Выделить всё
<?php
   if(!isset($_COOKIE['location_name']))
   {
      $modeSShow="all";
   }
   else
   {
      if($_COOKIE['location_name']==2 || $_COOKIE['location_name']=="2.1" || $_COOKIE['location_name']=="2.2")
         $modeSShow="cetab";
      else if($_COOKIE['location_name']=="3.1")
         $modeSShow="ford";
      else if($_COOKIE['location_name']=="3.2")
         $modeSShow="skoda";
      else if($_COOKIE['location_name']=="3.3")
         $modeSShow="hyundai";
      else if($_COOKIE['location_name']=="3.4")
         $modeSShow="kia";
      else
         $modeSShow="all";
   }

   header( "Content-Type: text/xml");
   echo "<?xml version=\"1.0\" encoding=\"windows-1251\"?>";
   echo "<url value=\"".$modeSShow."\" />";
?>

Этот файл загружается во флеш.
Так вот браузер кеширует этот файл, и перестаёт его запрашивать с сервака.
Как сделать так, чтобы файл не кешировался?
Мож в хеадер чего добавить?
Если биться головой о стену, то можно терять 150 калорий в час!
Аватара пользователя
PALOMINO
Редко заходит
 
Сообщения: 104
Зарегистрирован: Ср фев 08, 2006 16:01
Откуда: Днепропетровск

Сообщение Padonak Ср фев 28, 2007 21:12

<meta http-equiv="Cache-Control" content="no-cache, must-revalidate">
Uncaught TypeError: Изображение

Изображение
Аватара пользователя
Padonak
Философ-разговорник
 
Сообщения: 3872
Зарегистрирован: Вт дек 13, 2005 3:23
Откуда: Ростов-на-Дону

Сообщение -S- Сб мар 17, 2007 13:33

Вот ещё полезная инфа по теме кэширования:) может кому пригодитсо -01-

Кешировать можно и через .htaccess
Для экономии траффика можно указывать браузеру кешировать информацию на диске определенное время.
Для этого в файле .htaccess надо вписать:

ExpiresActive on

Далее, можно выставить время кеширования по умолчанию. Например - один день:

ExpiresDefault "access plus 1 days"

А можно указывать серверу проверять когда файл был обновлен и ставить время в зависимости о обновления:
ExpiresDefault "modification plus 1 days"


Так же можно задать время в зависимости от типа файла, для html страниц - 1 день, а для картинок - 10 дней:

ExpiresByType text/html "access plus 1 days"
ExpiresByType image/gif "modification plus 10 days"
ExpiresByType image/jpeg "modification plus 10 days"
%^#^&&0,#618*%!~~(хабрахабрить
Аватара пользователя
-S-
Курильщик
 
Сообщения: 346
Зарегистрирован: Пн мар 21, 2005 4:31
Откуда: Спб

Сообщение kost Сб мар 17, 2007 15:00

2Padonak: ерунду написали.

2PALOMINO: была подобная проблема.

Вот несколько вариантов:

1. В php-файл добавьте
Код: Выделить всё
header("Cache-control: private, no-cache");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");


2. Загружайте флэш со случайным параметром после имени файла:
myflash.swf?122451113

3. Вызывайте xml из флэша со случайным параметром, аналогично предыдущему способу.

Что-то из этого (или комбинация) помогли мне решить проблему с кэшированием.
Аватара пользователя
kost
Заядлый `курильщик`
 
Сообщения: 701
Зарегистрирован: Ср апр 16, 2003 16:56
Откуда: Санкт-Петербург

Сообщение Vavan Вт мар 20, 2007 1:34

Padonak писал(а):<meta http-equiv="Cache-Control" content="no-cache, must-revalidate">


Эт не пойдет. Эт для всего контента.
Я не программист и не дизайнер, НО!!!
Отремонтировать можно всё! Даже если это ещё не сломалось.
Аватара пользователя
Vavan
Редко заходит
 
Сообщения: 171
Зарегистрирован: Вт июн 04, 2002 0:01
Откуда: Жезказган, Казахстан


Вернуться в Архив

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15

cron