?php$interval=5;session_cache_limiter('private_no_expire'); //在session之后处理缓存, 需要加上这个.session_start(); if ($_SERVER['HTTP_IF_MODIFIED_SINCE']){ // HTTP_IF_MODIFIED_SINCE即下面的: Last-Modified,文档缓存时间
<?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测试通过.
