关于Vue与SpringBoot前后端分离项目中的跨域问题学习记录

虽然对前后端分离之下的通信有了初步认知,今天进行了深入了解跨域。

域:协议 + 域名 + 端口;三者完全相同则为同域,反之有其一不同均为不同域。

跨域请求:当前【发起请求】的域和【请求指向】的域属于不同域时,该次请求称之为跨域请求。

浏览器出于安全的考虑,使用 XMLHttpRequest对象发起 HTTP请求必须遵守同源策略,否则就是跨域的HTTP请求,默认情况下是被禁止的。

跨域HTTP请求是指A域上资源请求了B域上的资源,举例而言,部署在A机器上Nginx上的js代码通过ajax请求了部署在B机器Tomcat上的RESTful接口。

经过查询 解决跨域问题 网上一般提供三种解决方法

  1. 实现WebMvcConfigurer接口然后重写addCorsMappings方法解决跨域问题
  2. 使用 @CrossOrigin 注解,在Controller层需要跨域的类或者方法上加上该注解即可。

注:方式1属于全局CORS配置,方式2属于局部CORS配置。如果使用了局部跨域是会覆盖全局跨域的规则,所以可以通过@CrossOrigin注解来进行细粒度更高的跨域资源控制。

    3 .Vue中使用proxyTable,proxyTable是 vue-cli 脚手架在开发模式下,为我们提供的一个跨域的代理中转服务器服务.基于 (http-proxy-middleware插件)。

我对proxyTable的理解是proxyTable是让浏览器把报文发给了webpack代理服务器,然后由webpack代理服务器将报文发给后端,我们的项目中是用了该方案作为解决方法。

参考博文:SpringBoot解决跨域问题

                  springboot跨域的三种方式 

                  <强烈推荐>关于 Vue.proxyTable 是干什么的?以及如何配置?<强烈推荐>

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值