跨域问题

什么是跨域?
跨域是指跨域名的访问,域名或端口不一致。如:域名不同、域名相同,端口不同,二级域名不同/子域名不同,协议不同,域名和ip地址

跨域引起的原因是什么?

浏览器的同源策略引起跨域问题,实质上跨域问题是针对ajax的一种限制。

跨域问题的解决方案

- Jsonp

最早的解决方案,利用script标签(不受限)可以跨域的原理实现。

限制:

- 需要服务的支持
- 只能发起GET请求

- nginx反向代理

思路是:利用nginx反向代理把跨域为不跨域,支持各种请求方式

- CORS

规范化的跨域请求解决方案,安全可靠。是w3c阻止的标准

优势:

- 在服务端进行控制是否允许跨域,可自定义规则
- 支持各种请求方式:get、post、put、delete
- 限制访问的电脑的IP地址

缺点:

- 会产生额外的请求(可能发一次/二次请求)

 

posted @ 2018-11-16 10:51  contre666  阅读(130)  评论(0编辑  收藏  举报