web.config 中的 <cors> 标签和自定义 Header 的 httpProtocol 有区别吗?
Is there a difference between the <cors> tag in web.config and this httpProtocol with Custom Header?
目前在 ASP.NET 核心 MVC 应用程序中,我正在向站点添加以下 web.config
:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<cors enabled="true">
<add origin="*" />
</cors>
</system.webServer>
</configuration>
但我收到反馈,有些客户需要用以下内容替换我的 cors 标签:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
我想知道它们在功能上有哪些不同?在我看来,他们似乎会得到相同的结果,但在实践中似乎并非如此。
编辑:我想知道问题是不是其中一些服务器缺少 IIS Cors 模块。阅读 MSDN Documentation for the cors tag 它似乎等同于第二个选项,因为每个都写了。
对于最简单的情况,这两种方法是等效的,但在复杂的情况下,它们会产生完全不同的结果,尤其是当您的网络应用受到 Windows 身份验证保护时。
<cors>
作为 IIS CORS 模块的一部分,您可以在这种情况下进行配置,而如果您选择自定义响应 headers,您将完全依靠自己。
目前在 ASP.NET 核心 MVC 应用程序中,我正在向站点添加以下 web.config
:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<cors enabled="true">
<add origin="*" />
</cors>
</system.webServer>
</configuration>
但我收到反馈,有些客户需要用以下内容替换我的 cors 标签:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
我想知道它们在功能上有哪些不同?在我看来,他们似乎会得到相同的结果,但在实践中似乎并非如此。
编辑:我想知道问题是不是其中一些服务器缺少 IIS Cors 模块。阅读 MSDN Documentation for the cors tag 它似乎等同于第二个选项,因为每个都写了。
对于最简单的情况,这两种方法是等效的,但在复杂的情况下,它们会产生完全不同的结果,尤其是当您的网络应用受到 Windows 身份验证保护时。
<cors>
作为 IIS CORS 模块的一部分,您可以在这种情况下进行配置,而如果您选择自定义响应 headers,您将完全依靠自己。