用于缓存动态页面的Http标头

时间:2011-04-12 19:04:01

标签: php http header cache-control

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

对于此页面(从同一网址提供),我们有两种情况:

  1. 用户已登录(基于cookie)=>该页面特定于用户(我们显示一个包含用户名+个人信息的框。)
  2. 用户未登录=>该页面对所有用户都是通用的。
  3. 如何将标题设置为:

    • 拥有最具侵略性的缓存(最大年龄为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: *');
    

    编辑:是否有可能(如何)将“Cache”控制为私有,如果为“1”,则公开为“2”

1 个答案:

答案 0 :(得分:0)

如果登录纯粹基于cookie,那么您只需要一个Vary:Cookie标头,使其对特定用户而言是唯一的。 Vary:*应该同样有效。