跨域:不符合浏览器同源策略的请求不能执行,同源即域名、协议、端口都相同。这里主介绍CORS。
CORS两种请求:
- 简单请求 simple request
- 请求方法为HEAD、GET、POST之中任意一个
- 请求头只有以下字段
- Accept
- Accept-Language
- Content-Language
- Last-Event-ID
- Content-type (只限于用application/x-www-form-urlencoded、multipart/form-data、text/plain)
- 非简单请求 not-so-simple request
- 不满足简单请求条件都属于非简单请求
简单请求
简单请求
浏览器发出CORS请求,就是在头信息中增加一个Origin字段,用来说明此次请求是由那个源(协议、域名、端口)供服务器参考选择是否同意请求。如果服务器允许,会在响应头中添加如下字段:
Access-Control-Allow-Origin:
如果服务器允许某个源进行访问则该字段为必要字段,他的值一般与请求头中的Origin字段相同,设置成*代表允许所有请求,但存在安全问题,并且在要发送cookie的情况中不适用。
Access-Control-Allow-Credentials:
可选字段布尔类型,表示是否允许发送cookie。
Access-Control-Expose-Headers