我在一个 apache 2 Web 服务器上,我正在为以下站点提供服务:torchbearersakron.com
除了 IE7/Vista IE8/Vista 之外的任何地方,缓存似乎都工作得很好。然而,在这两个系统上,有些地方不对劲,整个页面每次都从服务器加载。
我可以在我的标题或元标记中做些什么来解决它?有什么我正在做的事情正在破坏它吗?
我在一个 apache 2 Web 服务器上,我正在为以下站点提供服务:torchbearersakron.com
除了 IE7/Vista IE8/Vista 之外的任何地方,缓存似乎都工作得很好。然而,在这两个系统上,有些地方不对劲,整个页面每次都从服务器加载。
我可以在我的标题或元标记中做些什么来解决它?有什么我正在做的事情正在破坏它吗?
大概自从您提出这个问题以来的 4 个月内,torchbearersakron.com 的缓存设置已更改,因为这是我从主页得到的响应:
如果你想让这个可缓存,你会去掉
Pragma
标题,并将 更改Expires
为此页面过期的日期,并更改Cache-Control
为指定缓存页面的 max-age;例如,缓存 1 小时:如果您使用的是 apache2,请为此使用mod_cache。
但是,如果您正确设置了缓存标头并且仍然看到 ie 没有使用其缓存,请检查 ie 中的“Temporary Internet Files”设置:
如果选择了“每次我访问网页时”单选按钮而不是“自动”,那么您发送的缓存标头并不重要 - 即每次您导航到您的页面时都会向服务器发出新请求通过浏览器用户界面。
另请注意,
Vary
标头还可能破坏 ie 的缓存模型(请参阅http://blogs.msdn.com/ieinternals/archive/2009/06/17/Vary-Header-Prevents-Caching-in-IE.aspx)。Vary: Accept-Encoding
不过应该没问题。