Web应用合理的Cache-Control,细节决定成败

2009年9月26日 | 标签:

Yahoo的网站优化34条黄金守则中有一条是合理的缓存控制(Cache-Control)。浏览器缓存可以提高网站访问速度,但如果开发部署应用不适当的话,也会引起一些错误。

最近项目系统上线,上线后也发现了一些与缓存控制的一些问题。其实问题处理都很简单的,说起来也似乎每一个人都知道。真正难的是在实际的项目中认真注意到每一个细节,做到处理好每一个细节,有时细节决定成败

首先是要允许缓存,尽可能长的缓存有效期。可以通过Apache的配置做一些统一的缓存策略。
ExpiresDefault 指令来设置默认有效期
ExpiresByType 指令可以根据文档类别来设置有效期

为了避免一些新发布的版本由于客户端存在旧版本的缓存引起错误。建议在一些资源命名上加入版本号,比如,common_2.0.2.js 。 或者引用引用方式上注意,比如,common.js?version=2.0.2。

对一些动态资源,要用程序或页面上做合理设置来做缓存控制。比如动态生成的校验码图片,是不允许缓存的。

//使用Java方法
response.setHeader(”Pragma”,”No-cache”);
response.setHeader(”Cache-Control”,”no-cache”);
response.setDateHeader(”Expires”,0);

//使用HTML标记




合理的利用缓存可以有效地优化网站性能。

相关文章:

  1. 轻量Web服务器Lighttpd体验
  2. P3P Header
  3. 反向代理(Reverse Proxy)带来的主机名端口问题及解决
  4. eAccelerator – php加速器
  5. Struts 2集成Dojo性能优化
目前还没有任何评论.