跨域资源共享(CORS)

同源策略是浏览器的安全策略,限制不同源之间的数据交换。CORS是跨域资源共享标准,允许浏览器向服务器发送跨域请求。CORS分为简单请求和非简单请求,简单请求只需Origin字段,非简单请求会先发送预检请求。服务器通过设置Access-Control-Allow-*响应头来控制跨域访问。
摘要由CSDN通过智能技术生成

浏览器处于安全考虑,请求资源时将基于同源策略进行限制。而我们在实际开发中的大多数请求,都是跨域的。那么什么是同源策略?什么是跨域?我们要如何解决跨域的问题呢?
W3C为克服资源只能同源使用的限制,制定了CORS标准,即为“跨域资源共享”。

一、什么是同源策略

同源策略是由Netscape提出的一种浏览器安全策略,它保证了在没有明确授权的前提下,限制不同源之间的数据交换。所谓同源,指的是协议名、域名、端口号完全相同的源;有一个不同即为跨域。

二、CORS简介

CORS,即跨域资源共享,需要浏览器和服务器同时支持。目前包括IE10以上版本的所有的浏览器都支持CORS。

CORS对于用户而言是无感的,由浏览器自动完成。浏览器一旦发现跨域请求,就会自动添加某些头信息或者附加信息,通知服务器此次请求是跨域请求。服务器收到浏览器跨域资源请求后,发回响应,告知浏览器此次请求被接受与否和其他详细信息,一次跨域请求就完成了。

浏览器将CORS分为了两类:简单请求和非简单请求。

1、请求的分类

简单请求
满足以下条件的请求,属于简单请求

(1) 请求方法是以下三种方法之一:
HEAD
GET
POST
(2)HTTP的头信息不超出以下几种字段:
Accept
Accept-Language
Content-Language
Content-Type (需要注意额外的限制)
DPR
Downlink
Save-Data
Viewport-Width
Last-Event-ID
Content-Type只能是下列三个值之一:
application/x-www-form-urlencoded、multipart/form-data、
text/plain

非简单请求
不满足上述的请求,属于非简单请求。浏览器将使用不同的处理方法。

二、浏览器对不同请求的处理

1. 简单请求:

浏览器直接发出CORS请求。具体表现在,在请求头信息中增加一个Origin字段。Origin字段当中将说明本次请求来自哪

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值