Skip to content

老陈是一个普通的文艺二逼青年

For The Dream

使用ETag和LastModified做缓存

2014年8月5日 · 使用ETag和LastModified做缓存已关闭评论

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//开启ob,让输出的数据写入缓冲区
ob_start();
 
//此处是页面的代码
//这里用当前分钟数做测试
echo time()/60|0;
 
//读取ob缓冲区的所有数据
$s=ob_get_contents();
//关闭ob,并清空缓冲区
ob_end_clean();
//生成ETag
$ETag=md5($s);
//判断客户端请求的ETag是否和当前页面的ETag相同
if( isset( $_SERVER['HTTP_IF_NONE_MATCH'] ) && $_SERVER['HTTP_IF_NONE_MATCH'] == $ETag ){
  //如果相同则返回304状态码
  header( 'HTTP/1.1 304 Not Modified' );
}else{
  //如果不相同则带上新的ETag,并输出页面数据
  header( 'ETag:' . $ETag );
  echo $s;
};

  [cray …

Continue reading 使用ETag和LastModified做缓存

Copyright © 2022 老陈是一个普通的文艺二逼青年. 沪ICP备13044041号-1