繁体   English   中英

Apache,mod_cache和Cookies

[英]Apache, mod_cache and Cookies

我正在考虑使用mod_cache。 但是,我希望由Apache缓存的页面(由php生成)通常包含该用户的登录名(“您以...身份登录”)。 所以我不能只为所有用户缓存一个页面。

登录状态由cookie确定。 所以我认为我可以(在PHP中)在每个页面中包含一个'Vary:Cookie'标题。 如果我对RFC 2616的理解是正确的,那么这应该指示Apache(或任何其他)缓存算法为用户代理发送的每个Cookie值缓存单独的页面。

因此,如果浏览器没有发送cookie(用户被注销),则缓存的响应与对Cookie的请求的缓存响应保持独立:state = 89898XAAJ(用户以“Jacob”身份登录)并再次保留与使用Cookie的请求的缓存响应分开:state = XXAIU2389(用户以'Bob'身份登录)。 如果一段时间之后,用户请求相同的URL并使用Cookie:state = 89898XAAJ,则会向其提供正确的页面,其中包含“您以Jacob身份登录”(而不是其他缓存的页面)。

我的理解是正确的,这是以这种方式工作还是我在这里忽略了什么?

我不确定你所描述的方法是否有效。

如果没有,您可以尝试使用重写条件检查cookie值,并根据用户和登录状态重定向到缓存的地址。

本页讨论基于cookie值的重写:

检查cookie并使用Apache重定向

好吧,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM