欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 我们实际的开发当中,可能有这样的需求就是想让网页在一段时间内过期,设置网页的过期时间。比如我们使用的是Chinacache的CDN,那要怎么样设计才能让他缓存我的内容. 这样用户发送过来no-cache也不怕了
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入
我们实际的开发当中,可能有这样的需求就是想让网页在一段时间内过期,设置网页的过期时间。比如我们使用的是Chinacache的CDN,那要怎么样设计才能让他缓存我的内容.
这样用户发送过来no-cache也不怕了.因为这样会给no-cache转成If-Modified-Since .所以我们写程序主要是对If-Modified-Since控制就好了.记的,缓存系统架构中最好是后端来控制,所以最好的方法是程序来管理过期.
以下是程序代码:
设置5分钟后页面过期.
$headers = apache_request_headers();
$client_time = (isset($headers['If-Modified-Since']) ? strtotime($headers['If-Modified-Since']) : 0);
$now=gmmktime();
$now_list=gmmktime()-60*5;
if ($client_time$now_list){
header('Last-Modified: ‘.gmdate('D, d M Y H:i:s', $client_time).' GMT', true, 304);
exit(0);
}else{
header('Last-Modified: ‘.gmdate('D, d M Y H:i:s', $now).' GMT', true, 200);
}
?>