Chinaunix首页 | 论坛 | 博客
  • 博客访问: 134917
  • 博文数量: 57
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 580
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-04 22:57
文章分类

全部博文(57)

文章存档

2011年(1)

2010年(1)

2009年(55)

我的朋友

分类: 系统运维

2009-05-11 15:36:48

增加Expires或Cache-Control头
 
本规则需要做两件事情:
对于静态部分:执行“永不过期”的策略,设置Expires头为很久的将来时间
动态的组件部分:使用适当的Cache-Control头,使浏览器在满足一定条件才请求

网页设计得越来越丰富,这意味着网页中包括了更多的脚本,样式,图片和Flash。访客第一次到你的网页可能需要一些HTTP请求,但通过使用 Expires头,这些组件可以被缓存。这可以避免在随后的页面浏览中不必要的HTTP请求。Expires头最常用的图像,但脚本,样式,和Flash 组件都应该使用它。

浏览器(和代理人)使用高速缓存,以减少HTTP请求的数量和大小,使网页的加载加速。一个使用Expires头的web服务器在HTTP响应头中告诉客户端的此组成能被缓存多久。下面例子说明直到2010年4月15号才过期。

    Expires: Thu, 15 Apr 2010 20:00:00 GMT

如果您的服务器是Apache的,使用ExpiresDefault选项,设定相对于当前的日期的过期时间。下面例子说明默认的过期时间到现在开始加10年。

    ExpiresDefault "access plus 10 years"

请记住,如果您使用将来很久的时间设置Expires头,那么如果组件的内容有变化,你必须改变原有的组成文件名。在Yahoo !我们常常使用一个版本编号为组件文件名的一部分来实现,例如, yahoo_2.0.6.js 。

使用这样的Expires头只在用户已经访问了你的网站后才起作用。它不影响用户第一次访问你的网站时浏览器的缓存是空时的HTTP请求数。因此影 响这一性能的改善取决于用户访问你的网页时缓存的多少。 在Yahoo !我们发现页面75-85%的访问带有缓存引用 。通过使用设置这样的Expires头,你可以将更多的组成由浏览器缓存并重新使用,而其后各次的页面浏览不会发送网路连接。

阅读(479) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~