【问题标题】:Avoiding cookies while requesting static content在请求静态内容时避免使用 cookie
【发布时间】:2011-02-25 23:23:22
【问题描述】:

我刚刚使用 Google chrome 的开发工具对我的一个 Web 应用程序页面(使用 ASP.Net 构建并在开发服务器上运行)进行了审核。一个特别的警告引起了我的注意:

提供来自无 cookie 域的静态内容 (5)

我想知道是否可以为此类请求避免使用 cookie。我看到也没有对 javascript 文件的 cookie 请求。我也可以避免在这些文件的标题中使用 cookie 吗?为什么浏览器没有为 javascript 文件附加 cookie 并为 CSS 和图像附加?

【问题讨论】:

  • 能否修复图片,或者删除链接?

标签: asp.net cookies webserver


【解决方案1】:

Cookie 被“附加”到域和路径。如果您为文件上方的路径设置 cookie,它们将与对这些文件的任何请求一起发送。

警告消息本身会告诉您如何解决此问题 - 为您的静态内容使用另一个域。或者子域,只要确保在这种情况下保持主域无 cookie。

【讨论】:

  • 是的,我知道解决方案是将文件移动到无 cookie 域。我需要知道的是为什么 cookie 在请求期间没有附加到 javascript 文件,而只附加到 css 和图像?
  • @Abdel:也许该工具错过了这些请求。有相关页面的链接,以便我自己查看?
  • 很遗憾没有。让我再检查一下工具是否漏掉了它们
【解决方案2】:

最简单的做法是遵循您粘贴的警告消息中的确切建议(从您未设置 cookie 的完全不同的主机名提供静态资产)。但在现代浏览器中,您现在还可以选择在相关元素上设置 crossorigin="anonymous" 属性,这将阻止为匹配的请求发送 cookie。您需要将此与在静态资产响应中返回 access-control-allow-origin: YOUR-ORIGIN-HERE.com 标头相结合。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 2016-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    • 1970-01-01
    相关资源
    最近更新 更多