缓存动态页面的Http标头


Http headers to cache a dynamic page

我有一个用PHP生成的经典html页面。

对于这个页面(来自同一个URL),我们有两种情况:

  1. 用户被记录(基于cookie) =>该页面特定于该用户(我们显示一个包含用户名+个人信息的框)
  2. 用户未登录=>该页面对所有用户通用

如何设置标题为:

  • 具有最激进的缓存(最大年龄为60)。
  • 避免用户之间的页面混淆。

我可以替换当前的头文件吗:

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

吗?

header('Cache-Control: public, max-age=60');
header('Vary: *');

编辑:是否有可能(如何)有缓存控制的私有情况下"1"和公共情况下"2"

如果login纯粹是基于cookie的,那么你只需要一个Vary: cookie头来使它对特定用户是唯一的。不过Vary: *应该也能正常工作。