关于HTTP头缓存的问题,到期

时间:2010-11-21 11:00:14

标签: apache caching

如果在.htaccess

<FilesMatch "\.(gif|png|jpg|jpeg|js|css|swf|ico)$">
    ExpiresActive On
    ExpiresDefault "access plus 1 years"
</FilesMatch>

浏览器中的标题:

Cache-Control:maxage=5184000
Expires:Thu, 20 Jan 2011 10:18:51 GMT

然后浏览器不会缓存HTML代码,是吗?

Google推荐发送过期1个月,为什么youtube发送标题

Expires:Tue, 27 Apr 1971 19:44:06 EST

2 个答案:

答案 0 :(得分:1)

您提供的任何配置指令都不会向浏览器提供有关您希望缓存数据的时间长度的信息。关于是否缓存HTML的决定将取决于发送的任何指令,如果你的问题和浏览器设置,这些指令不会被配置覆盖。

我从未看到Google推荐一个月后过期的内容。缓存到期应基于内容更改的频率。 (由于YouTube数据频繁更改非常,随着新视频和评论的不断添加,“已经过期”对于许多YouTube网页来说都是明智的价值。)

答案 1 :(得分:1)

不,您的配置不会影响HTML响应(假设您没有使用列出的文件扩展名之一)。

除此之外,您的 Cache-Control Expires 没有说明是否可以缓存响应。他们只说如果存储了响应,那么存储的响应只有在达到给定的到期日期之前才会新鲜;之后,存储的响应被认为是陈旧的。

但总的来说,every successful response may be cached unless there are restrictions

  

除非受到缓存控制(section 14.9)指令的特别约束,否则缓存系统可能总是将成功的响应(请参阅section 13.8)存储为缓存条目,如果是,则可以返回它而不进行验证新鲜的,并且可以在成功验证后返回它。

服务器通常使用过去的过期日期来表示响应已过期。