当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP Squid中可缓存的动态网页设计

PHP
PHP函数:php中rename()函数的妙用
PHP实例:PHP验证码
PHP实例:PHP无限极分类
PHP实例:PHP操作文件类
PHP实例 PHP实现定时生成HTML网站首页
php脚本中include文件报错解决方法
在PHP中显示格式化的用户输入
PHP教程:在PHP中将图片存放ORACLE中
PHP5中的this,self和parent关键字详解
PHP实例:PHP的拼写检查函数库
PHP教程实例:用PHP打造动态聊天室系统
PHP基础:PHP4和PHP5的配置异同比较
使用PHP4.2.0及以后版本的注意事项
一个非常全面获取图象信息的PHP函数
比较测试PHP+MYSQL分页机制两种方案
PHP中用正则表达式验证中文的问题
php程序如何生成验证码图片
用php或js获取图片大小高宽尺寸
phpMyAdmin2.6以上版本数据乱码问题
巧学巧用:如何使用PHP中的字符串函数

PHP Squid中可缓存的动态网页设计


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 101 ::
收藏到网摘: n/a

有时我们需要控制主页之类的网页过期时间.但我们比如使用的是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);

}

?>