0

出于安全原因,有几篇文章建议“不要缓存页面”。所以我通常将以下内容放在网页的开头

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

这很好用,但许多访问者喜欢使用历史按钮。所以,我需要允许它在短时间内。我尝试使用以下标题

header("Cache-Control: maxage=".$expires.", must-revalidate");
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT');

其中$expires是我需要的时间。问题是页面不会过期,就好像那些标题不存在一样。我该如何解决这个问题?

4

1 回答 1

1

简而言之:浏览器历史缓存是您无法完全控制的不同之处。对另一个问题有一个完美而详尽的答案,也可以在这里回答您的问题:

为什么在 HTTP 响应中应该同时使用 no-cache 和 no-store?

于 2012-06-30T18:28:54.723 回答