Назад | Перейти на главную страницу

Управление кешем в IE7 / Vista

Я использую веб-сервер apache 2 и обслуживаю следующий сайт: torchbearersakron.com

Везде, кроме IE7 / Vista IE8 / Vista, кажется, что кеш работает замечательно. Однако в этих двух системах что-то не так, и каждый раз вся страница загружается с сервера.

Могу ли я что-то исправить в своих заголовках или метатегах? Есть ли что-то, что я делаю, что нарушает его?

Предположительно, настройки кеша torchbearersakron.com были изменены за 4 месяца, прошедшие с момента, когда вы задали этот вопрос, поскольку это ответ, который я получаю с домашней страницы:

HTTP/1.0 200 OK
Date: Fri, 12 Feb 2010 21:12:33 GMT
Server: Apache/2.2.4 (Ubuntu) mod_python/3.3.1 Python/2.5.1 PHP/5.2.3-1ubuntu6.4 mod_ssl/2.2.4 OpenSSL/0.9.8e
X-Powered-By: PHP/5.2.3-1ubuntu6.4
Set-Cookie: PHPSESSID=61d5ecec89d3d5c29d85aa1e3629b5b5; 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-Encoding: gzip
Vary: Accept-Encoding
Content-Length: 2695
Content-Type: text/html; charset=utf-8

Если бы вы хотели сделать это кешируемым, вы бы избавились от Pragma заголовок и измените Expires до даты истечения срока действия этой страницы и измените Cache-Control указать максимальный возраст для кеширования страницы; например, для кеширования на 1 час:

HTTP/1.0 200 OK
Date: Fri, 12 Feb 2010 21:12:33 GMT
Expires: Fri, 12 Feb 2010 22:12:33 GMT
Cache-Control: public, max-age=3600

Если вы используете apache2, используйте mod_cache для этого.

Но если вы правильно настроили заголовки кеша и по-прежнему видите, что кеш не используется, проверьте параметр «Временные файлы Интернета», например:

  1. Выберите пункт меню «Свойства обозревателя» в меню «Инструменты», т.е.
  2. Нажмите кнопку «Настройки» в разделе «История просмотров» на вкладке «Общие».
  3. Установите переключатель «Автоматически» под заголовком «Проверять наличие новых версий сохраненных страниц».
  4. Щелкните ОК и еще раз ОК.

Если установлен переключатель «Каждый раз, когда я посещаю веб-страницу» вместо «Автоматически», не имеет значения, какие заголовки кеша вы отправляете - т.е. будет делать новый запрос на сервер каждый раз, когда вы переходите на свою страницу. через интерфейс браузера.

Также обратите внимание, что Vary заголовок также может испортить модель кеширования ie (см. http://blogs.msdn.com/ieinternals/archive/2009/06/17/Vary-Header-Prevents-Caching-in-IE.aspx). Vary: Accept-Encoding должно быть хорошо, хотя.