我看到许多网上银行网站在退出后都会出现一条消息,建议我清除浏览器缓存,以确保我的私人银行信息的安全。
在当今时代,这真的有必要吗?发送“无缓存”HTTP 标头并将所有内容置于 HTTPS 之上难道还不足以阻止某人查看我访问的页面的内容吗?
答案1
他们只是小心谨慎。如果服务器设置了正确的标头以确保客户端没有缓存任何内容,那就没问题了。由于银行无法控制浏览器是否按预期运行,因此他们会要求您确认。
请注意,该Cache-Control: no-cache
标头并非如您所想的那样。它旨在告诉浏览器在使用其缓存版本之前重新与服务器进行验证。这隐式地允许浏览器缓存请求。但是,可能由于广泛错误地使用此指令,大多数浏览器已开始使用 no-cache 来表示“不缓存此内容”。
为避免缓存,服务器需要发送的正确标头是Cache Control: No-store
。
答案2
几乎所有主流浏览器都不会自动缓存受保护的页面。如果您使用的是旧浏览器(或非常不知名的浏览器),这可能是一个问题。此外,大多数浏览器都尊重 Cache-Control 标头,该标头允许服务器为浏览器指定缓存策略。