我被告知要防止用户信息泄露,只有"无缓存"的响应是不够的."无商店"也是必要的.
Cache-Control: no-cache, no-store
Run Code Online (Sandbox Code Playgroud)
在阅读本规范http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html后,我仍然不太清楚为什么.
我目前的理解是它只适用于中间缓存服务器.即使"无缓存"作为响应,中间缓存服务器仍然可以将内容保存到非易失性存储.中间缓存服务器将决定是否使用保存的内容进行后续请求.但是,如果响应中存在"no-store",则不应该在中间缓存服务器上存储内容.所以,它更安全.
还有其他原因我们需要"无缓存"和"无商店"吗?
当用户按下后退按钮时,我需要强制浏览器从服务器重新加载上一页.
我已将以下内容添加到我的响应标头中:
Cache-Control: no-cache, must-revalidate
Expires: -1
Run Code Online (Sandbox Code Playgroud)
这似乎适用于大多数浏览器,但不适用于坚持返回缓存结果的Google Chrome.
那么当用户按下后退按钮时,是否有人知道我如何强制浏览器从服务器获取页面?
谢谢.