cors跨域资源共享方法

来源:互联网 发布:软件开发基础教程pdf 编辑:程序博客网 时间:2024/06/01 07:19

cors是一个服务端和客户端协作声明的方式来确保请求的安全性。

  • 服务端在HTTP请求头增加一些列的请求头信息(例如Access-Control-Allow-Orign等),说明哪些域的请求可以接受,或哪些类型的请求可以接受。
  • 客户端在发起请求时,也必须在请求头中声明自己的源(Orign),否则服务器将不予处理。如果客户端不作声明,请求可能会被浏览器阻止,到不了服务器端。HTTP请求到达服务器之后会与服务端声明的域进行比较,只有同域的请求才做处理。

客户端代码:

//原声js ajax请求var xhr = new XMLHttpRequest();xhr.open("post", "http://b.example.com/Test.ashx", true);xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");   //关键步骤:***在请求头声明请求源***xhr.setRequestHeader("Origin", "http://a.example.com");xhr.onreadystatechange = function () {   if (xhr.readyState == 4 && xhr.status == 200) {       var responseText = xhr.responseText;       console.info(responseText);   }}xhr.send();

服务端代码:

   public void ProcessRequest(HttpContext context)    {        context.Response.ContentType = "text/plain";        // 声明接受所有域的请求        context.Response.AddHeader("Access-Control-Allow-Origin", "*");        context.Response.Write("Hello World");    }   public bool IsReusable   {       get       {           return false;       }   }}
0 0
原创粉丝点击