如何使 php 网页在特定时间内过期


How can I make that php webpages expire in certain time

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

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是我需要的时间。问题是页面不会过期,就好像这些标题不存在一样。我该如何解决这个问题?

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

为什么在 HTTP 响应中应同时使用无缓存和无存储?