什么是跨域?前端如何解决跨域问题?

一、什么是跨域?

浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。

前后端分离的模式下,前后端的域名是不一致的,所以就会出现跨域问题。
而浏览器为了安全问题一般都会限制跨域访问,也就是不允许跨域请求资源。所以出现了浏览器的同源策略。

同源策略:指协议、域名、端口都要相同,其一不同都会出现跨域。
同源策略限制的几种行为:

  • 无法读取Cookie、LocalStorage和IndexDB*(IndexDB是浏览器提供的本地数据库,可以被网页脚本创建和操作,允许存贮大量数据,提供查找接口,能建立索引。)*
  • 无法获得DOM和JS对象
  • 不能发送AJAX请求

二、常见的跨域

url说明是否允许通信
http://www.a.com/a.js
http://www.a.com/b.js
同一域名下允许
http://www.a.com/a/a.js
http://www.a.com/b/b.js
同一域名下不同文件夹允许
http://www.a.com:8000/a.js
http://www.a.com/b.js
同一域名下不同端口不允许
http://www.a.com/a.js
http://192.168.10.11/b.js
域名和该域名对应ip不允许
http://www.a.com/a.js
http://index.a.com/b.js
http://a.com/c.js
主域相同,子域不同不允许
http://www.a.com/a.js
http://www.b.com/b.js
不同域名不允许
http😕/www.a.com/a.js
https😕/www.a.com/b.js
同域名,不同协议不允许
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值