PHP控制网页过期时间的程序
2012-01-17 17:43
288 查看
有时我们需要控制主页之类的网页过期时间。但我们比如使用的是Chinacache的CDN,那要怎么样设计才能让他缓存我的内容.
当然,前提要先打开CDN中一个功能reload_into_ims on.这样用户发送过来no-cache也不怕了.因为这样会给给no-cache转成If-Modified-Since .所以我们写程序主要是对If-Modified-Since控制就好了.记的,缓存系统架构中计中最好是后端来控制,所以最好的方法是程序来管理过期. 呵,我只会php,就用PHP写一个,别的程序也是一样。
见我下面的程序,呵呵,5分钟过期.
<?PHP
$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 and $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);
}
?>
当然,前提要先打开CDN中一个功能reload_into_ims on.这样用户发送过来no-cache也不怕了.因为这样会给给no-cache转成If-Modified-Since .所以我们写程序主要是对If-Modified-Since控制就好了.记的,缓存系统架构中计中最好是后端来控制,所以最好的方法是程序来管理过期. 呵,我只会php,就用PHP写一个,别的程序也是一样。
见我下面的程序,呵呵,5分钟过期.
<?PHP
$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 and $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);
}
?>
相关文章推荐
- PHP控制网页过期时间的程序
- PHP控制网页过期时间的程序
- PHP控制网页过期时间的代码!
- PHP控制网页过期时间的代码!
- PHP 网页过期时间的控制代码
- PHP控制网页过期时间的代码
- PHP会话控制之失效时间与过期回收机制
- php 如何设置一个严格控制过期时间的session
- php 如何设置一个严格控制过期时间的session
- php基础知识 5.流程控制 和格式化日期时间 和终止程序执行
- 【组件】控制程序的过期时间
- php 严格控制session的过期时间
- php 如何设置一个严格控制过期时间的session
- php计算程序运行时间
- PHP时间格式控制符对照表分享
- 用php人工使网页过期
- (转)php中session过期时间设置
- php动态网页实现页面静态化 通过在初次被访问时生成html文件保存起来,下次该PHP程序被访问时就直接找到以前被访问过的html页面