- <?php
- $interval=5;
- session_cache_limiter('private_no_expire'); //在session之后处理缓存, 需要加上这个.
- session_start();
- if ($_SERVER['HTTP_IF_MODIFIED_SINCE']){
- // HTTP_IF_MODIFIED_SINCE即下面的: Last-Modified,文档缓存时间.
- // 缓存时间+时长.
- $ctime = strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE'])+$interval;
- // 当大于当前时间时, 表示还在缓存中... 释放304
- if($ctime > time()){
- header('HTTP/1.1 304 Not Modified');
- exit();
- }
- }
- // 上面这段代码未使用任何其它库, 所以可以放在首行.
- header("Pragma: private");
- header("Cache-Control:max-age=$interval, pre-check=$interval");
- header("Expires: " . gmdate("D, d M Y H:i:s",time()+$interval)." GMT");
- header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
- echo date('Y-m-d H:i:s'); // 注意看是不是差5秒刷新一次.
- echo ' - <a href="?a=">Link</a><br />';
- var_dump($_SERVER['HTTP_IF_MODIFIED_SINCE']);
- // IE11 ff38 chrome测试通过.
- //该片段来自于http://www.codesnippet.cn/detail/2105201512633.html
来源: http://www.codesnippet.cn/detail/2105201512633.html