HTTP缓存,用户身份验证和PHP

时间:2011-12-21 06:27:20

标签: php http caching http-caching

我正在研究PHP中的一些软件,我正在努力使其有效地利用HTTP缓存。但是,我最近遇到的一个问题是登录后,登录之前访问的页面会被缓存,并且不会像登录一样。

如果PHP和客户端之间存在HTTP缓存,则尤其如此。如果我将缓存限制器设置为始终为“公共”,则可能始终缓存页面(即使是代理缓存)。如果我在未登录时将缓存限制器设置为“公共”,则在记录时将“私有”设置为“私有”在,我目前可能会遇到的问题。如果我将缓存限制器设置为始终是私有的,则代理缓存根本不会受益,并且我当前可能仍然会遇到问题。

这个问题的理想解决方案是什么?有没有办法在用户登录后让网页浏览器“再试一次”?对于代理缓存,我知道有很多方法可以根据传入的cookie进行缓存,所以我相信这可能会解决部分问题。但是从Web浏览器的角度来看问题呢?

1 个答案:

答案 0 :(得分:1)

这里没有一个很好的解决方案,但你有几个选择:

  1. 无论您的用户是否登录,都要使页面完全相同 不是,通过利用AJAX通过JSON请求登录状态 服务。
  2. 不要缓存页面,只缓存脚本,样式和图像。浏览器缓存HTML只有在用户经常查看时才有用 相同的页面,并没有期待不同的结果。这是你的吗? 用例?如果是的话,你可能已经在使用AJAX了 实时更新,它可能不是一个巨大的飞跃实施 选项#1。