缓存文件太长时间有问题吗?

时间:2012-06-27 18:01:12

标签: php apache caching header http-headers

前几天我发现了https://developers.google.com/speed/pagespeed/并且我的网站页面速度从现在的75到95提高了。

它推荐的最后几件事之一是我:

Leverage browser caching: Setting an expiry date or a maximum age in the HTTP headers
for static resources instructs the browser to load previously downloaded resources 
from local disk rather than over the network.

我的主要javascript和css文件的缓存时间设置为2天,Google建议我将其设置为至少1周。他们还建议我对html和php文件做同样的事情。

如果我决定进行大型网站更改并且他们昨天刚刚在我的网站上缓存(为期一周),我的用户会怎么样?他们会在1周后才看到我网站上的变化吗?

此外,由于我的网站包含一个控制面板并且有一些动态生成的PHP页面,有没有理由缓存其中任何一个?我的服务器是否仍然会通过PHP脚本进行搅拌并在每次登录帐户时生成新内容?

1 个答案:

答案 0 :(得分:1)

您可能不希望在访问者浏览器中缓存HTML和PHP。但是,您可能希望将其缓存在您可以控制的层中,例如使用APC的PHP操作码缓存和Varnish之类的反向代理。

对于静态资源,例如JavaScript和CSS文件,将它们缓存一年或更长时间应该是安全的。如果您对其进行了更改,则只需更新其网址即mystyles.css?v=123,浏览器就会认为它与mystyles.css?v=122甚至mystyles.css完全不同。