cors跨域资源共享方法

xiaoxiao2021-02-28  96

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; } } }
转载请注明原文地址: https://www.6miu.com/read-54593.html

最新回复(0)