首页 > 代码库 > C# 实现CORS

C# 实现CORS

1.IE对CORS的实现

       ie8中引入了XDR(XDomainRequest),这个对象与XHR类似,但能实现安全可靠的跨域通信。CORS的核心思想就是使用自定义的HTTP头部让浏览器

和服务器进行沟通。

浏览器:

在请求的头部会附加Origin.

var xdr = new XDomainRequest();

xdr.onload = function () {
  alert(xdr.responseText);
};
xdr.onerror = function () {

};
xdr.open("get", "XXX");
xdr.send("111");

服务器端:

       根据请求的Origin决定这个请求是否可以接受,如果可以接受,就在Access-Control-Allow-Origin回发相同的源信息,如果是公共资源,回发"*"。

如果头部信息不匹配,浏览器就会驳回请求。

response.AddHeader("Access-Control-Allow-Origin", "*");

 

2.JSONP

浏览器端:

var script = document.createElement("script");
script.src = "http://www.mamicode.com/xxx?callback=hello";
document.body.insertBefore(script,document.body.firstChild);

服务器端:

string responses = string.Format("\"a\":\"1\"");
string call = "hello" + "({" + responses + "})";
response.Write(call);

C# 实现CORS