Я использую веб-сервер 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 для этого.
Но если вы правильно настроили заголовки кеша и по-прежнему видите, что кеш не используется, проверьте параметр «Временные файлы Интернета», например:
Если установлен переключатель «Каждый раз, когда я посещаю веб-страницу» вместо «Автоматически», не имеет значения, какие заголовки кеша вы отправляете - т.е. будет делать новый запрос на сервер каждый раз, когда вы переходите на свою страницу. через интерфейс браузера.
Также обратите внимание, что Vary
заголовок также может испортить модель кеширования ie (см. http://blogs.msdn.com/ieinternals/archive/2009/06/17/Vary-Header-Prevents-Caching-in-IE.aspx). Vary: Accept-Encoding
должно быть хорошо, хотя.