【发布时间】:2015-10-08 11:34:07
【问题描述】:
我们有一个已建立的站点,现在受 CSP 规则的影响。我已将我们需要的所有脚本添加到 Content-Security-Policy 标头中。
当使用隐私浏览或以前未访问过该网站的设备访问该网站时,我会获得新的 CSP 标头并且一切正常。
但是,之前访问过该网站的用户会获得旧的标头,并且会收到 CSP 警告。
NB我不能使用expire 0 或类似的浏览器不寻找新的标头,所以永远不知道标头已经过期。
我正在寻找一种方法来告诉浏览器“嘿,你应该检查一下我很酷的新标题,因为它们是新的”。
【问题讨论】:
-
那么目前有客户端仍然有新的缓存吗?那么就没有办法从服务器端对他们强制执行任何操作,因为 他们根本不会在缓存过期之前询问服务器。 您可以告诉您的用户手动刷新(点击刷新通常在浏览器中执行两次,否则清除缓存),但除了等待之外,您可能无法自动执行此操作。
-
奇怪的是,我无法通过硬刷新来复制它,甚至无法清除我自己在 Chrome 中的缓存。如果我打开一个隐身窗口它可以工作,但是如果我清除缓存并进行硬刷新,我仍然会遇到同样的问题。好像有某种我无法清除的秘密标头缓存。
标签: http nginx http-headers content-security-policy