Автор Тема: Проблема с кэшированием...  (Прочитано 3763 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Alecsey2

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема с кэшированием...
« : 09 Января 2004, 15:52:31 »
Суть:
Есть php-скрипт генерирующий картинку в файл.
Есть php-страница вызывающая скрипт и отображающая  картинку из файла.
Проблема в том что при повторном запуске (например уходим вперед по ссылке, а затем жмем кнопку браузера back) скрипт сохраняет на диск новую картинку, но в браузере отображаеться старая, похоже из локального кэша.
(Есть инструкции META "Pragma: no-cache", "Expires: 0", "Cache-Control: post-check=0, pre-check=0",
текстовая инфа отображается актуально,
браузер IE.6)
Как заставить браузер грузить картинку с диска?

Оффлайн Alecsey2

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема с кэшированием...
« Ответ #1 : 09 Января 2004, 15:55:02 »
Да, забыл пояснить, что картинка выводится с помощью html-тега IMG

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
Проблема с кэшированием...
« Ответ #2 : 09 Января 2004, 16:10:30 »
Может, кто победил это по-другому и опишет свой способ, то, к чему я пришел:
Создал скрипт на php, который выводит картинку, но перед этим отсылает
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the past
header ("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT"); 
                                                      
// always modified
header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
header ("Pragma: no-cache");                          // HTTP/1.0

потом отсылает:
header("Content-type: image/jpeg"); 

и делает:
readfile("$_GET[\'name\']");

в html пишем


Все очень упрощенно, тут только идея.
работа в Украине

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Проблема с кэшированием...
« Ответ #3 : 09 Января 2004, 16:20:09 »
Yukko
Я смог победить только добавив дополнительную переменную в строке браузера, которая является случайной последовательностью, т.к., насколько я понимаю, страница динамическая, то можно добавить данную переменную во все ссылки...

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
Проблема с кэшированием...
« Ответ #4 : 09 Января 2004, 16:47:07 »
Цитировать
Phoinix:
 смог победить только добавив дополнительную переменную в строке браузера

Страницы сгенереные GET POST не кэшируются, но у при тесте в разных браузерах... короче давно это было, но я заморочился с Оперой, которой случайная последоватьльность была до глубины ее кэша. Не знаю, может, у меня версия какая неправильная была... а еще одно дело GET/POST запрос  на страницу, другое дело статический запрос на рисунок: www.myserver/my.gif его тоже надо посредством GET POST выводить
работа в Украине

Оффлайн Alone

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 182
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема с кэшированием...
« Ответ #5 : 09 Января 2004, 17:08:08 »
Цитировать
надо посредством GET POST выводить

[OFF]сильно сказано...
нужно будет запомнить :D[/OFF]
чем отличается "запрос на страницу" от "запрос на рисунок"?
заголовки это конечно правильно,
но замечалось что невсегда срабатывает, то кеш на сервере игнорирует, то кеш браузера, то кеш прокси...
рандомное значение в строке запроса всегда(почти?) рулило

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
Проблема с кэшированием...
« Ответ #6 : 09 Января 2004, 17:12:47 »
Alone
каждый понял, что я имел в виду... :)

Цитировать
Alone:
всегда(почти?) рулило

если бы не возникло такой траблы, то я бы даже не морочился :) :) :) можно поступить по-другому, взять и скомбинировать все способы :)
работа в Украине

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Проблема с кэшированием...
« Ответ #7 : 09 Января 2004, 17:29:52 »
Цитировать
Страницы сгенереные GET POST не кэшируются

Значит у меня тоже какой-то браузер левый :)
Кеширует гад страницы сгенеренные GET и POST, если параметры те же...

Оффлайн Alecsey2

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 17
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Проблема с кэшированием...
« Ответ #8 : 11 Января 2004, 19:11:48 »
Цитировать
Yukko:
и делает:

readfile("$_GET[\'name\']");


в html пишем


Все очень упрощенно, тут только идея.



Теперь сплю спокойно... :)
Спасибо за идею!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28