以下是这样的场景,用户在浏览器中从我们的 WebApp 打开非安全页面(我们称之为 PageA),然后单击其中的链接将他们带到 PageB 的安全实例。进入 PageB 后,用户随后可以单击一个链接,将他们带回到 PageA 的安全实例(他们已经查看过该实例并且位于 OutputCache 中)。我观察到,即使在访问 PageB(安全的)后通过不同的 URL 访问 PageA,它实际上是拉取先前缓存的副本,而不是制作一个新的副本。我在调试会话中验证了此行为,并对 ASP.Net 使用相同的 OutputCache 项来获取页面的安全副本感到惊讶。
我的问题是为什么会这样?我如何告诉 ASP.Net OutPutCache 将来自安全 URL 的访问视为与非安全等效项不同/唯一的项目?
[背景]
我们最近将网站图像切换为对所有图像使用 Scene7/Akamai。因此,我们添加了代码,以便在安全连接上查看给定页面时使用不同的 Scene7 url。此 OutputCache 问题不允许执行输出安全 URL 的逻辑,并导致浏览器发出难看的警告。
这并不能回答问题的措辞,但它可能会消除您因方案而异的需要。如果您对 Scene7 url 的“http://”进行硬编码,则可以将它们更改为方案相对 url。
<img src="http://site.scene7.com/images/someimage.jpg" />
=>
<img src="//site.scene7.com/images/someimage.jpg" />
这将导致浏览器自动请求与引用页面具有相同方案的资源。当然,这是假设您拥有 scene7 域的 SSL 证书。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)