Loading... # [php里设置浏览器缓存](https://blog.p2hp.com/archives/1256) $lastModified = time() + 30; header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $lastModified) . ' GMT'); 此行设置后,会去服务器检查是否过期(文件是否修改过),如果没过期,就取本地文件(服务器需要返回header) header('Expires: ' . gmdate('D, d M Y H:i:s', $lastModified) . ' GMT'); 此行设置后,不再去服务器检查是否过期,直接取本地文件。 header('Cache-Control: max-age=1'); (相对于本地时间 ) 还有一个Etag,是比较字符串,而不是时间。 下面这段代码是禁止点后退后,缓存. header('Expires: Thu, 01 Jan 1970 00:00:00 GMT'); // HTTP/1.1 header('Cache-Control: private, no-store, no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0, max-age=0', false); ps header("Content-Type: application/json");//有时要加上这句,不然不起作用(看nginx配置) <?php // 这是一个缓存测试 $cache_time = 60*10; //十分钟缓存 $modified_time = @$_SERVER['HTTP_IF_MODIFIED_SINCE']; if( strtotime($modified_time)+$cache_time > time() ){ header("HTTP/1.1 304"); exit; } header("Last-Modified: ".gmdate("D, d M Y H:i:s", time() )." GMT"); header("Content-Type: application/json");//有时要加上这句,不然不起作用(看nginx配置) echo "<br />"; echo date('Y-m-d H:i:s',time()); echo 222222; ?> 最后修改:2023 年 08 月 07 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏