资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

使用Java如何解决跨域问题

本篇内容主要讲解“使用Java如何解决跨域问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“使用Java如何解决跨域问题”吧!

在大东等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、网站设计 网站设计制作按需制作网站,公司网站建设,企业网站建设,成都品牌网站建设,全网整合营销推广,外贸营销网站建设,大东网站建设费用合理。

跨域问题

现在绝大多数公司的项目都是前后端分离的,前后端分离后势必会遇到跨域问题。如下图

使用Java如何解决跨域问题

继续debug发现,reponse为undefined,提示消息为Network Error。

使用Java如何解决跨域问题

所以当你和前端联调的时候一直请求失败,报网络错误,一般情况下是后端没有做跨域配置。

注意此时并不是后端没有收到请求,而是收到请求了,也返回结果了,但是浏览器将结果拦截了,并且报错。

同源策略

那么浏览器为什么会报错呢?

因为浏览器基于安全考虑而引入的同源策略

使用Java如何解决跨域问题

当协议+域名+端口三者都相同时,才不会产生跨域问题,即同源。此时才能读取到服务端的响应

当前url请求url是否跨域
https://www.javashitang.comhttp://www.javashitang.com是,协议不同
https://www.javashitang.comhttp://book.javashitang.com是,域名不同
https://www.javashitang.comhttp://www.javashitang.com:8000是,端口不同

为什么要有同源策略呢?

当然是为了安全起见,举个例子,以银行转账为例,看看你的钱是怎么没的

使用Java如何解决跨域问题

这就是著名的CSRF攻击(跨站请求伪造,当然还有很多其他方式),还有如果第5步不对请求的来源进行校验,那么你的钱已经被转走了

html页面中的如下三个标签是允许跨域加载资源的

     

如何解决跨域

虽然同源策略保证了安全,但一些合理的用途也会受到影响。解决跨域的方式有很多种,简单介绍2个

JSONP

JSONP主要是利用