解决跨域问题

什么是跨域
  • 当协议,域名,端口任意一个与当前页面的url不同,即为跨域;
  • 在这里插入图片描述


#### 同源策略
  • 同源策略是浏览器的基本安全功能,少了同源策略容易受到xss, csfr攻击,所谓同源就是协议域名端口三者相同,即便两个不同的域名指向同一个ip也非同源;
  • 在这里插入图片描述
解决跨域的方法
jsonp
  • 通过不受跨域限制的标签去调用后台接口,同时在接口地址添加回调函数,用于告诉后台人员前端定义了某个函数名是什么,后台调用这个传入的函数同时传入提供给前端的参数,这样就实现了跨域请求接口;
  • 在这里插入图片描述

CORS
  • 后台人员通过设置
header["Access-Control-Allow-Origin": "*"]
  • 后台人员通过添加以上代码,即可解决跨域问题
代理Proxy

在这里插入图片描述

原理:
  • 浏览器会跨域,但是服务器是不存在跨域问题的,前端在调用接口不直接访问服务器,而是访问代理服务器,浏览器和代理服务器是相通的,所以前端请求代理服务器,代理服务器进行数据转发,有代理服务器请求服务器数据,服务器将数据给到代理服务器,代理服务器再返回给浏览器,从而解决跨域问题;

在这里插入图片描述

  • vue中配置vue.config.js文件添加代理;这种方式只能用于开发环境,生产环境需要使用nginx反向代理,需要运维人员进行配置;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值