【发布时间】:2025-08-26 13:10:02
【问题描述】:
为了防止浏览器缓存,我关注了How to control web page caching, across all browsers?。
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0);
这在 Google Chrome 上运行良好,但问题出在 Firefox 上。添加上述标题后,Firefox 仍在缓存我的内容。
有什么方法可以阻止 Firefox 缓存我的内容?
所有缓存的内容仅以纯文本形式存储。如何强制浏览器在缓存内容之前对其进行加密?
我观察到其他一些网站的缓存不是以纯文本形式存储的。甚至 JavaScript (js) 文件也是加密格式(在缓存中)。
下图显示了响应中收到的标头。
【问题讨论】:
-
相信 response.setDateHeader("Expires", 0);应该是 response.setHeader("Expires", 0);
-
我添加了'response.setHeader("Expires", "0");',然后它也在缓存。 setHeader 期望这两个参数都是字符串值。
标签: jsp security caching encryption http-headers