栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

跨域问题(什么是跨域问题、如何解决)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

跨域问题(什么是跨域问题、如何解决)

1、什么是前后端分离架构

springmvc前后端在一个项目中不存在跨域的问题。
web系统的开发,springmvc三层架构:
controller 控制层
service 业务逻辑层
dao数据访问层

微服务架构:专业的人干专业的事
前端 vue,ajax技术调用接口
后端java,go,php提供接口

2、什么是网站跨域的问题

前端(vue)调用接口 -->ajax技术 -->后端(springboot)的接口不在同一个域下就产生跨域的问题
浏览器的安全策略:遵循同源策略,协议、地址、端口号都相同。
协议不同、地址不同、端口不同都为跨域,会触发浏览器的安全策略
不会发生跨域问题的情况:

3、网站跨域问题的产生根源

前端、后端项目分别部署在不同的服务器,会产生跨域问题
跨域问题报错:

跨域的请求可以到达,但是返回数据会触发浏览器的同源安全策略,进行拦截报错,无法获取结果。

备注:
 1、端口和协议的不同,只能通过后台来解决
 2、localhost和127.0.0.1虽然都指向本机,但也属于跨域

4、跨域问题的解决方案

1、jsonp(只支持get请求,不支持post请求)
2、@CrossOrigin 注解 ,springMVC提供(小项目中推荐)
@CrossOrigin 实现:
在响应地址头上加参数,告知浏览器此接口允许跨域。

不使用注解的情况下,手动在响应头中添加参数,解决跨域问题

自定义注解实现(aop前置通知无条件直接添加响应头+反射)

小项目实现方式:
1注解代理实现
2过滤器添加
3灭个接口方法上加上
response.addHeader(“Access-Control-Allow-origin”,"*")
3、nginx(代理实现)
nginx解决方案:同源策略
大项目中:
1前端(vue)————>nginx()——网关——>
2根据nginx根据不同的项目名称进行转发(推荐)

前端请求—html/api—》nginx192.168.110.3—判断路径后转发—html(110.1)/api(110.2)——》vue——192.168.110.1/springboot——192.168.110.2

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/643397.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号