CROS 跨域请求原理

时间:2022-11-14 12:06:44

cros 分为两种请求


简单请求


浏览器将CORS请求分成两类:简单请求(simple request)和非简单请求(预检请求)(not-so-simple request)。


只要同时满足以下两大条件,就属于简单请求。


(1) 请求方法是以下三种方法之一:

HEAD

GET

POST

(2)HTTP请求头信息不超出以下几种字段:

Accept

Accept-Language

Content-Language

Last-Event-ID

Content-Type:只限于三个值application/x-www-form-urlencoded、multipart/form-data、text/plain


凡是不同时满足上面两个条件,就属于非简单请求。


浏览器对这两种请求的处理,是不一样的。


Access-Control-Allow-Origin: http://kbiao.me

Access-Control-Max-Age: 3628800

Access-Control-Allow-methods: GET, PUT, DELETE, POST

Access-Control-Allow-Header: content-type

Access-Control-Allow-Credentail: true


“Access-Control-Allow-Origin"表明它允许” http://kbiao.me "发起跨域请求


"Access-Control-Max-Age"表明在3628800秒内,不需要再发送预检验请求,可以缓存该结果(上面的资料上我们知道CROS协议中,一个AJAX请求被分成了第一步的OPTION预检测请求和正式请求)


"Access-Control-Allow-Methods"表明它允许GET、PUT、DELETE的外域请求


"Access-Control-Allow-Headers"表明它允许跨域请求包含content-type头


"Access-Control-Allow-Credentials"表明它允许cookies