PHP控制网页过期时间的程序
PHP控制网页过期时间的程序
有时我们需要控制主页之类的网页过期时间。但我们比如使用的是Chinacache的CDN,那要怎么样设计才能让他缓存我的内容.
当然,前提要先打开CDN中一个功能reload_into_imson.这样用户发送过来no-cache也不怕了.因为这样会给给no-cache转成If-Modified-Since.所以我们写程序主要是对If-Modified-Since控制就好了.记的,缓存系统架构中计中最好是后端来控制,所以最好的方法是程序来管理过期.呵,我只会php,就用php写一个,别的程序也是一样。
见我下面的程序,呵呵,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<$nowand$client_time>$now_list){
header('Last-Modified:‘.gmdate('D,dMYH:i:s',$client_time).'GMT',true,304);
exit(0);
}else{
header('Last-Modified:‘.gmdate('D,dMYH:i:s',$now).'GMT',true,200);
}
?>