Кеширование страниц на Опере

cray

Guest
Кеширование страниц на Опере

Привет всем!!!

У меня трабла с Оперой..
Она, канешна - хороший браузер, и особенно хороший у нее кэш. Но не до такой же степени...., чтоб кэшировать всё подряд (почти всё, кроме страниц, генеренных постом).

Как ее отучить от такой привычки? Потому что страницы помелись уже давно, а она из кэша берет :(
Может ей заголовки какие-нить экзотические надо посылать?
Посылаются такие заголовки:
PHP:
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Должно ли оно помогать??? Потому что результата я не вижу :(

З.Ы. Помогите плз, а то уже задолбался Ф5 клацать :)
 

fx

Guest
я долго бился над оперой, в коце пришёл к выводу, что те кто ей пользуются, им нравится гулять по старым страницам, даже если сайта вообще уже нет в инте, они будут годами продолжать гулять по сайту как не в чём не бывало :p
я оставил попытки обновлять им браузеры :)

у меня на сайте не помогло такое:
PHP:
<meta http-equiv="Expires" content="Mon, 26 Jul 2004 05:00:00 GMT">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Cache-Control" content="no-store">
<meta http-equiv="Cache-Control" content="0">
<meta name="document-State" content="dynamic">
ещё можешь попробывать до тега <HTML> добавить такой код:
PHP:
<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
 
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);

header("Pragma: no-cache");
?>
http://il2.php.net/manual/ru/function.header.php
 

cray

Guest
у меня на сайте не помогло такое
Дай "пять"!!! Мне тоже не помогло :)
ещё можешь попробывать до тега <HTML> добавить такой код
:) вообще-то в валидных доках первым должен идти доктайп :) - но это все левое, надо как-то проблему решать (не хочу на помойку такой браузер выкидывать). Кстати, заголовки тож не помогли...
Этой Опере все заголовки по барабану :(
Раньше я был убежден, что только мелкомягкие стандартов не придерживаются, Opera Software меня разубеждают...
Может им написать..., а может пойти повеситься :)
 

alpine

Новичок
cray
Опера отлично отрабатывает заголовки!
Ищи у себя в скриптах багу.

-~{}~ 29.08.04 20:23:

Еще советую познакомиться с http://phpfaq.ru/na_tanke
Абзац "Просмотр обмена HTTP заголовками"
 

cray

Guest
2alpine:
Ниче не знаю :)
Смотрел серверные заголовки NetCat'ом (на этом и основывался мой первый пост)
Отсылает стопудово те, что писал вначале, а теперь и те, которые посоветовал fx

Вот тебе полный дамп:
PHP:
HTTP/1.1 200 OK
Date: Sun, 29 Aug 2004 18:17:29 GMT
Server: Apache/2.0.50 (Unix) PHP/4.3.0
Accept-Ranges: bytes
X-Powered-By: PHP/4.3.0
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Last-Modified: Sun, 29 Aug 2004 19:14:46 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: sid=aa16d7f6e2c0cc2b3ab90349e53e3737; path=/
Transfer-Encoding: chunked
Content-Type: text/html; charset=windows-1251
Резалту - ноль.

2all:
Кстати есть еще один способ заставить Оперу не кешировать страницы: приписывать (на сервере или на клиенте) к каждой ссылке переменную с рандомовским значением. Пробовал - стопроцентно работает. Но это не выход :(
Не буду же я перед отправкой доки клиенту заменять в ней все ссылки. А если на клиенте, то для каждой ссылки писать скрипт придется с document.write
 

SiMM

Новичок
cray, вообще-то судя по отклику (200 OK) у тебя не должно быть никакого кэширования на клиенте - из кэша данные берутся только если в отклике 304 Not Modified. А при использовании сессий, если мне не изменяет память, вообще всё должно работать без лишних потуг. Версия Opera?
 

Фанат

oncle terrible
Команда форума
Только что в соседней теме мне репортили про то, что опера кэширует все на свете.
Взял заголовки, которые шлет пхп при старте сессии - и тут же все наладилось.
Рекомендую.
 

cray

Guest
2SiMM:
Вот я тоже так думал... угу, куда там... кэширует, что аж винт трещит :)
Opera 7.50

2Фанат: А в каком топике??? Щас искать буду...

2All:
Можете попробовать: http://rvn.lg.ukrtel.net/cms/
 

Фанат

oncle terrible
Команда форума
ничего в том топике нету.
кроме сообщений о том, что опера кэширует страницы.
я взял, сделал скрипт с session_start() и посмотрел заголовки, которые она шлет, относящиеся к кэшированию.
И взял, напрямую вставил в свой скрипт.
сразу все стало нормально
 

cray

Guest
2Фанат:
Зараз спробуемо.... :)

-~{}~ 30.08.04 00:59:

Чисто session_start() выдал:
PHP:
HTTP/1.1 200 OK
Date: Sun, 29 Aug 2004 21:58:53 GMT
Server: Apache/2.0.50 (Unix) PHP/4.3.0
Accept-Ranges: bytes
X-Powered-By: PHP/4.3.0
Set-Cookie: sid=cbf047a8d6c81bbbcb310b9a18cf6cb9; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 0
Content-Type: text/html; charset=windows-1251
То же самое, что выдавал у меня (просто у меня в скрипте тоже сессия стартует - логично, ведь, чтобы Опера пагу не кэшировала???), но что-то без толку :(

У тебя Опера есть? Желательно 7.50...
Глянь сам... плиззз.. я уже не знаю, че делать...
http://rvn.lg.ukrtel.net/cms/
Все посещенные ссылки открываются из кэша, что бы там в заголовках не было... :(

-~{}~ 30.08.04 02:25:

На сколько я понимаю, к кэшу относятся следующие заголовки:
PHP:
Expires: Thu, 19 Nov 1981 08:52:00 GMT 
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma: no-cache
Я их вставил в индекс:
PHP:
<?php

//===----- index.php - main site file

header("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");

// ...................

?>
Как ни странно, они возвращаются браузеру :) но он все равно за свое...

Вот моя Опера:
Код:
[b]Version[/b]     7.50 	
[b]Build[/b]       3778 	
[b]Platform[/b]    Win32 	
[b]System[/b]      Windows NT 5.2
 

Фанат

oncle terrible
Команда форума
Ну не знаю я.
Вижу, что не запрашивает.
Почему - не знаю.
Чем смотреть заголовки под оперой?.
 

cray

Guest
Именно по Оперой??? не знаю :(
Я смотрел NetCat'ом http://www.checksum.org/download/netcat/nc.exe

nc -vv rvn.lg.ukrtel.net 80
потом пишу запрос
GET /cms/ HTTP/1.0
Host: rvn.lg.ukrtel.net
Accept: */*


[[два раза enter]]

и выдает заголовки, потом саму доку....
 

Фанат

oncle terrible
Команда форума
И я не знаю.
а верю я только тому, что именно с браузером обменивается.
 

cray

Guest
да, это тоже довод...
поищу на Оперу плагины....

-~{}~ 31.08.04 00:11:

нее, ну реальная трабла, а в Оффтопе ее никто не читает :(
назад уже не перекинут?
а может вопрос переформулировать?
 

Фанат

oncle terrible
Команда форума
читают-читают, все читают.
Другое дело, что трабла твоя одновременно и распространенная и ничейная.
распространенная потому, что тем про кэширование на форуме - МОРЕ.
ничейная потому, что у всех работает, а у тебя - нет. И кто тебе что ответит?
 

cray

Guest
Нашел вот TCP сниффера... щас качаю
может он чего умного перехватит :)
 

Yurik

/dev/null
Не знаю что тут этот товарищ за демагогию развел, но тупой просмотр обмена трафа моей оперы с его сервером показывает что на

Запрос
PHP:
GET /cms/index.php?section=articles&mod_articles_op=view_article&id=10 HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 7.53  [en]
Host: rvn.lg.ukrtel.net
Accept: text/html.........
Accept-Language: en
Accept-Charset: windows-1251.....
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: http://rvn.lg.ukrtel.net/cms/index.php?section=articles
If-Modified-Since: Mon, 30 Aug 2004 22:34:14 GMT
If-None-Match: "2baea-b31-6ed5e900"
Cookie: sid=19195042d2942f36334fd1904da1c33f
Cookie2: $Version=1
Connection: Keep-Alive, TE
TE: deflate, gzip, chunked, identity, trailers
идет Ответ
PHP:
HTTP/1.1 304 Not Modified
Date: Mon, 30 Aug 2004 22:34:35 GMT
Server: Apache/2.0.50 (Unix) PHP/4.3.0
Connection: Keep-Alive
Keep-Alive: timeout=15, max=100
ETag: "2baea-b31-6ed5e900"
Варианта два: или криво настроен Апач, или просто Apache/2.0.50
А Опера тут никаким боком
 

cray

Guest
Да, скачал только что прогу... поглядел трафик... точно. 304...
Теперь что-то начинает всплывать...

2Yurik:
Просто Апач 2.0.50 ??? Да 2.0.50... А за ним замечалось подобное?
 

Yurik

/dev/null
Не знаю замечалось ли, т.к. его никто не юзает. По крайней мере в связке с PHP. Там баг на баге.
 

cray

Guest
Может ему как-нить запретить посылать Etag'и ???
 
Сверху