Xpoint
   [напомнить пароль]

Возможно ли запретить ревалидацию?

Метки: [без меток]
2004-10-28 12:27:03 [обр] Илья Лебедев aka WingedFox(0/65)[досье]

Возможно ли запретить ревалидацию для заведомо свежих объектов?
Оригинал темы: http://forum.dklab.ru/other/all/KeshirovanieAPartTheSecond.htm

Проблема в том, что событие onload наступает только после загрузки всех объектов на странице.
Есть несколько страниц, где браузер проверяет по 70 объектов, что занимает около 3-4 секунд.

С помошью mod_expires я выставлял Expires от месяца до 10 лет в будущем, но браузеры каждый раз при открытии страницы шлют if-modified-since для каждого объекта...
Очень хочется избавиться от этого.

Повторное чтение RFC ответа на вопрос не дало.

Проверял в IE 5+, Mozilla 1.1+, Opera 7

спустя 6 дней [обр] Владимир Палант(49/4445)[досье]
"Браузеры"? В Mozilla и Opera это настраивается и ИМХО по умолчанию не так. Так ведёт себя исключительно Internet Explorer и вроде бы это не лечится - обсуждалось несколько раз.
спустя 5 минут [обр] Илья Лебедев aka WingedFox(0/65)[досье]

В том-то и дело, что все.
Я тоже читал сообщения об IE, но решил на всякий случай проверить что и как.

Проверял сниффером Проксомитрона.
Результат - все вышеуказанные браузеры игнорируют Expires и шлют при загрузке страницы запросы на ревалидацию.

спустя 1 час 45 минут [обр] Владимир Палант(49/4445)[досье]
Заголовок Last-Modified есть? А как насчёт настроек? В Mozilla в Edit / Options / Advanced / Cache должно быть выбрано "When the page is out of date" (стоит по умолчанию). В Opera в Tools / Preferences / History and cache есть настройки Check documents/images/other, там по умолчанию стоит "Every 5 hours" (похоже на то, что заголовок Expires Opera таки игнорирует), тоже проверки при каждом запросе быть не должно.
спустя 42 минуты [обр] Илья Лебедев aka WingedFox(0/65)[досье]

Ссылку неправильную поставил наверху
http://forum.dklab.ru/other/all/KeshirovanieAPartTheSecond.html

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

Часть ответа сервера (пробовал выставлять Expires до 10 лет)

Date: Wed, 03 Nov 2004 17:55:12 GMT
Last-Modified: Wed, 28 Jul 2004 09:48:32 GMT
ETag: "28004e-351-1ef67c00"
Cache-Control: max-age=31104000
Expires: Sat, 29 Oct 2005 17:55:12 GMT

Проверки так и идут...

спустя 3 года [обр] wiktar(0/20)[досье]

Возможно.

Вот тут (http://apachedev.ru/2007/09/19/5-prostyih-sposobov-uskoreniya-sayta/) хорошо описано.

Если коротко:

Устанавливаем Expires и убираем ETag и Last-Modified. И Cache-Control на полную. Тем самым, заставляем браузер ориентироваться только на Expires и не запрашивать If-Modified-Since.

Powered by POEM™ Engine Copyright © 2002-2005