注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

xiaozhuge0825的博客

 
 
 

日志

 
 

web客户端缓存技术应用案例  

2009-12-21 15:06:55|  分类: php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

web客户端缓存技术应用案例

网摘   2008-04-12 11:53   阅读18   评论0  

字号: 大  中 

“Cache/缓存”技术一词近2两年在WEB应用开发中真是大行其道,尤其服务器端缓存技术,是所有网络架构话题中必不可少的部分。

客户端缓存技术在缓解网站压力优化同样也可以发挥很大的作用,最终提升用户访问展示页面的速度:

对于静态图片、js、html进行客户端缓存可以减少IE向服务器的资源请求; 对于动态CGI页面也可以进行适当的客户端缓存,哪怕几秒钟,在高并发的网站就效果就很明显; 客户端Cache的实现,是在资源初次访问时,由Http服务器(Apache/IIS)在Http协议头内定义。当IE/FireFox浏览器再次访问相同资源前,会根据上次访问的纪录信息进行判断,以确认是否需要重新下载。

浏览器接收到的Http头信息:

HTTP/1.1 200 OK

Date: Mon, 10 Dec 2007 07:15:30 GMT

Server: Apache/2.2.6 (Unix)

Cache-Control: max-age=3600

Last-Modified: Mon, 10 Dec 2007 07:15:30 GMT

Expires: Mon, 10 Dec 2007 07:15:40 GMT

Content-Length: 142

Connection: close

Content-Type: text/html 

实践表明,通过设置以下两个属性即可实现缓存作用:

Last-web客户端缓存技术应用案例 - xiaozhuge0825 - xiaozhuge0825的博客

资源希望在客户端的缓存时间 

当客户端当前时间大于Expires中设置的时间,浏览器立即向服务器发出更新请求。这些在http1.0版本中就已经实现。

为了加强对cache的控制,在http1.1版本中,增加了“Cache-Control”。

假设我们希望将某页面的Expires设置的超时为1个月的同时,又希望浏览器不定期的向服务器检查这页面是否有更新,便可以使用max-age进行控制:

Cache-Control: max-age=3600  无论Expires设置多久,只要当前客户端时间 减去 Date时间大于max-age所指定的时间(秒),浏览器便强制重新更新缓存

  

  web客户端缓存技术应用案例 - xiaozhuge0825 - xiaozhuge0825的博客

我的测试脚本 httpcache.php,大家可以多多尝试看看效果:

<?php

$gmt = gmmktime();

header("Cache-Control: max-age=10");

header("Last-Modified: ". gmdate("D, d M Y H:i:s", $gmt) . " GMT");

header("Expires: ". gmdate("D, d M Y H:i:s", $gmt + 10) . " GMT"); 

echo "<html><head><title>http cache</title></head>\n";

echo "<body>\n";

echo "current: " . gmdate("D, d M Y H:i:s", $gmt) . " GMT" . "<br /><a href=\"" . $_SERVER["PHP_SELF"] . "\">refer</a>\n";

echo "</body>\n</html>";

?>

  评论这张
 
阅读(176)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018