搜索

首页  >  问答  >  正文

php不能使用header缓存

<?php
header("Cache-Control: public");
header("Pragma: cache");
$offset = 30*60*60*24; // cache 1 month
$ExpStr = "Expires: ".gmdate("D, d M Y H:i:s", time() + $offset)." GMT";
header($ExpStr);
echo date("Y-m-d l H:i:s A");
?>

我设置了一个月的缓存,但是每次刷新显示的时间都不一样,请问代码哪里出错了?

欧阳克欧阳克2784 天前757

全部回复(1)我来回复

  • 怪我咯

    怪我咯2017-06-30 09:58:14

    页面每次刷新, 你都发送Header, 当然是每次都更新啦.

    如果http header上有缓存头的话,
    浏览器请求这个页面的时候, 会带上 If-Modified, If-Match, 之类的请求头,
    你需要根据这个If头里面的内容来判断, 是发送304 Not Modified 还是发送新的页面.

    回复
    0
  • 取消回复