我使用Speed Up来检查我网站的速度,它提供了一些提示:“优化缓存”。我在yahoo.com上找到了一些信息,如ExpiresDefault“access plus 10 years”
我应该将该规则放在.htaccess中吗?
还有一个问题,我应该将它用于我的网站吗?它完全不是静态的,它是一个非常复杂的动态页面浏览器游戏。我找到了这个链接:http://www.askapache.com/hacking/speed-site-caching-cache-control.html
但是,当我将媒体文件缓存一年,然后更新图片时,用户一年内无法看到它?
答案 0 :(得分:0)
html5 boilerplate项目有关于设置缓存标头的大量文档,并且使用项目附带的standard htaccess file可以为您提供正确设置缓存标头的良好基础。
缓存标头定义用户可以下载文件的时间长度并期望内容新鲜。因此,您应该为动态页面使用短暂或无缓存到期。通常,动态内容的短期到期仅仅是管理服务器负载的一种方式 - 即,当您处于想要/需要减少与服务器的通信时,您只会添加短期到期。
对于任何具有长缓存到期的URL,当内容发生更改时,应该是url。所以
/img/sprite.png
如果您修改该文件,请将其设为:
/img/sprite_<x>.png
其中x
是您喜欢的任何内容 - 例如日期20120326HHMM
如果您使用构建过程,则可以自动执行上述过程,以便您不必考虑它。这也是html5 boilerplate docs中详细介绍的内容。