前端处理跨域问题

跨域:即请求的地址与被请求的地址协议头、域名、端口有一个不一样就叫跨域。相反,不跨域即叫同源,同源:即协议头、域名、端口完全一致。举个例子:

URL                                      说明                    是否允许通信
http://www.demo.com/a.js
http://www.demo.com/b.js         同一域名,不同文件或路径           允许
http://www.demo.com/lab/c.js

http://www.demo.com:8000/a.js
http://www.demo.com/b.js         同一域名,不同端口                不允许
 
http://www.demo.com/a.js
https://www.demo.com/b.js        同一域名,不同协议                不允许
 
http://www.demo.com/a.js
http://127.0.0.1/b.js            域名和域名对应相同ip              不允许
 
http://www.demo.com/a.js
http://x.demo.com/b.js           主域相同,子域不同                不允许
http://demo.com/c.js
 
http://www.demo1.com/a.js
http://www.demo2.com/b.js        不同域名                        不允许

解决跨域问题常用的解决方案有:

1、JSONP:利用script标签可跨域的特点,在跨域脚本中可以直接回调当前脚本的函数。

2、CORS:服务器设置HTTP响应头中Access-Control-Allow-Origin值,解除跨域限制。

3、代理 与 反向代理

4、document.domain + iframe跨域

5、postMessage跨域

附:

前端开发如何独立解决跨域问题

前端处理跨域的几种方式

前端常见跨域解决方案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值