版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34579060/article/details/89705891
CORS支持(Cross-Origin Resource Sharing)是W3C指定的一种跨域资源共享技术标准,其实就是为了解决前端的跨域请求。
前端跨域请求解决方案是 JSONP, 但是 JSONP 只支持GET请求,这是一个很大的缺陷,而CORS则支持多种HTTP请求方法。
假如服务器支持CORS, 响应头中有一个 Access-Controller-Allow-Origin字段,用来记录可以访问该资源的域。当浏览器收到这样的响应头信息时,提取字段,发现该值包含当前所在页面, 就知道跨域请求,对前端允许跨域请求,不再进行限制。
以Delete 请求为例,当前端发起一个DELETE请求时,这个请求的处理会经过两个步骤。
第一步:
客户端 : 发送一个OPTIONS请求 (这个请求会向服务端询问是否具备该资源的DELETE权限)
服务器: 服务端会返回一个响应 Allow头信息表示服务端支持的请求方法
第二步:
客户端: 发送DELETE请求。 接下来浏览器会发送一个跨域的DELETE请求
服务器: 服务端返回响应
跨域请求结束