Jul*_*ien 2 performance caching
为了提高性能,我想为每个页面添加一个相当长的Cache-Control(最多30分钟),因为它们不会经常更改.但是,每个页面还会显示登录用户的名称(如本网站).
问题是当用户登录或注销时:用户名必须更改.如何在保持长缓存控制的同时在每次登录/注销操作后更改用户名?
以下是我能想到的解决方案:
如果我实际上有更多内容与注册用户和新用户不同,这个问题会变得更大.
Cache-Control: private
Run Code Online (Sandbox Code Playgroud)
通常在实践中足够了.这就是SO的用途.
从理论上讲,如果你需要允许可变登录的从你或许应该设置相同的客户端的情况下Vary上Cookie(假设这是您使用的登录机制).然而,这个Vary(以及大多数其他)的值完全搞砸了IE的缓存,因此通常可以避免.此外,通常希望允许用户单步执行后退/前进列表,包括登录/退出页面,而无需重新获取.
对于每个页面强制执行适当登录的情况至关重要(例如银行业务),Cache-Control: no-cache通常会使用full .