CORS
什么是CORS
如果两个URI拥有相同的schema,host和port,我们就认为他们是来自于相同的Origin。以下是一个完整的URI的定义:
scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]
同源策略
Same-origin security policy 是对客户端的要求。在这个要求之下,网络浏览器 对来自于相同Origin的脚本允许网页间相互访问。
CORS
CORS是一种协议,它用来约定服务端和客户端那些行为是被服务端允许的。尽管服务端是可以进行验证和认证的,但基本上这是由客户端浏览器来保证的。这些对行为的允许是放在应答包的header里面的。
工作原理
工作原理主要是客户端和两类服务端的处理,基本流程如下图所示:
请求的几种方式
简单请求和复杂请求
简单请求
-
请求方式是以下3种方式之一 HEAD,GET,POST
-
HTTP的头信息不超过以下几种字段 Accept、
Accept-Language、
Content-Language、
Content-Type
但是Content-Type的值,只限于三个值: application/x-www-form-urlencoded、
multipart/form-data、
text/plain
复杂请求
其余的均为复杂请求