参考博客:一次跨域请求出现 OPTIONS 请求的问题及解决方法、跨域资源共享 CORS 详解
首先了解跨域产生的原因:浏览器从一个域名的网页去请求另一个域名的资源时,协议、域名、端口任一不同,都会出现跨域。
使用CORS解决跨域引起的问题,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信(服务端添加代码)。
浏览器将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
凡是不同时满足上面两个条件,就属于