跨域的分类
1. 域名不同
2. 域名相同,端口不同
3. 二级域名不同
引入跨域限制的原因
处于安全考虑。例如,浏览淘宝的时候访问了这个网站,这个网站利用ajax可能访问淘宝进行操作,这时候会拿着你的淘宝的cookie作为token去做坏事。
跨域的解决方案
1. jsonp
原理:利用script标签实现
需要服务的支持
只能get请求
2. nginx反向代理
思路:利用nginx反向代理把跨域为不跨域,支持各种请求方式
缺点:需要在nginx进行额外配置,语义不清晰
3. CORS
请求分为两类
1.简单请求
需要同时满足以下两个请求:
<1>请求方式
- HEAD
- GET
- POST
<2>Http请求头不超出以下几个字段:
- Accept
- Accept-Lan