什么是跨域问题_如何解决跨域

学习计划安排如下:

关于昨天编写的商品分类业务,访问方式的回顾以及补充,发现在管理系统中访问会报错。

浏览器直接访问没事,但是在管理系统中访问会报错,从而引出跨域问题。

使用CORS解决跨域问题,通过其解决流程回顾两个非常重要的知识点。

jdk8的新特性方法引用、以及SpringBoot中的Java配置类的回顾

一、跨域问题的引出

对昨天商品分类业务回顾及补充:

什么是跨域问题_如何解决跨域

昨天说明了第①种和第②种访问方式。

在后台服务器中编写代码接受对应的请求,从数据库中查询到对应数据并响应。

①直接访问自然是没问题的。

②通过网关,其相当于在直接访问的路径上做了一个保护,最终还是会跳转该路径。

其实第③种方式直接使用网关域名访问也是可以的,在前天使用nginx时配置了网关域名。

以上三种方式都没问题,证明代码本身编写的没有问题,但是在管理系统中发送请求时会发现浏览器会报错。

什么是跨域问题_如何解决跨域

在前端页面中,点击分类管理,我们通过浏览器F12可以查看其发送的请求路径。

该路径和第③种访问方式是一样的。

为什么自己在浏览器中输入该路径能访问,但是在管理系统中发送请求会失败呢?

这就涉及到了一个跨域问题。

那到底什么是跨域?

跨域是指跨域名的访问,有三种情况:

域名不同的跨域。

域名相同、端口不同的跨域。

二级域名不同的跨域。

而我们刚才浏览器为何报错?就是因为二级域名变了,从而导致了跨域。

什么是跨域问题_如何解决跨域

注意:关于域名、二级域名的概念我不能在文章中举例说明,前天就是文章中出现域名而被举报了,上图简单说明下,也很好理解。

那为什么有跨域问题?

假设我有一个网站,另一个人看我不爽,天天通过不同的渠道疯狂攻击我的网站。

如果没有跨域问题,他就可以通过跨域不断地对我的网站发送ajax请求从而攻击。

所以跨域问题本质上是浏览器对于ajax请求的一种安全限制,这本身并不是坏事,更安全。

二、如何解决跨域?

跨域问题既然是为了阻止跨站攻击,那要解决这个问题又该怎么办呢?

其实很简单,哪个域名要访问我?我同意就好了,就跟我们设置白名单一样的道理。

我们使用的是通过cors方式去解决跨域问题,关于cors,不用过于去深究,对其实现思路有一个清晰的认识即可。

1网关编写配置信息

现在是后台管理系统对应的域名要访问网关对应的域名,所以在网关微服务配置就好了。

什么是跨域问题_如何解决跨域

不要看这个配置信息好像有点复杂,但其实明白属性的意思也就好理解:

allowedOrigins:设置能跨域访问我的域名,其中*号代表任意域名。

allowCredentials:是否允许携带cookie?默认情况下值为false。

allowMethod:接受的请求方式。

maxAge:本次许可的有效时长,单位是秒。

allowHeaders:请求头信息。

path:“/**”表示的是拦截对应域名下的所有请求,也可以自行设置请求路径。

核心关键是第1个属性,也就是白名单。

注意:这里使用的是SpringBoot中的Java配置,老实说太久没用有点忘了。

在我第131天的学习笔记中有详细说明,做了一个回顾也就想起来了。

2编写CORS配置类

什么是跨域问题_如何解决跨域

注意其参数也就是我们刚编写的Java配置类。

①添加配置信息

方法引用的使用,我以其中一个例子说明:

config要通过addAllowedMethod()方法添加允许的请求方式。

但是在配置信息中请求方式有好几个,先获取allowMethod属性,结果是一个集合。

所以要将该集合遍历,再将遍历后的数据一个一个地添加到config中。

这样操作下来就很是麻烦,而使用方法引用一行代码就搞定了,其作用是一样的。

注意:关于方法引用,第50和51天的学习笔记中有详细说明,做了一回顾也就想起来了。

②添加映射路径

这里就相当于设置了一个白名单,这个域名可以访问我,但是我也可以指定其路径。

也就是说你这个域名虽然可以访问我,但是你的每个请求我并不一定都会接受。

当然例子中设置的是/**,表示所有请求。

三、测试

cors配置好后,就能解决跨域问题了:

什么是跨域问题_如何解决跨域

通过测试结果我们可以发现:

在后台管理系统对应的前端页面,可以访问另一个域名,从而解决了跨域问题。

浏览器上也没报错,页面也有了数据。

这些数据也就是最先开始访问服务器得到的数据,只不过被渲染到对应的vue组件中了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 86345@qq.com 举报,一经查实,本站将立刻删除。
(0)
上一篇 2022-05-18 09:07:25
下一篇 2022-05-18 09:22:06

猜你喜欢

  • 灯条怎么安装_灯条安装方法

    家庭灯带怎么安装呢?想必大家并不是很了解,下面我们一起来看看吧。 灯带怎么安装 1、室内安装 LED灯带用于室内装饰时,由于不必经受风吹雨打,所以安装就非常简单。以光虹电子生产的L…

    2023-06-22
  • excel二级下拉菜单设置方法(如何制作excel表格二级下拉菜单)

    通过二级菜单,可以熟悉间接、索引、偏移三个函数,这是想学习excel函数必须过的关。 在论坛里看帖子,有一点比较累,很多都是直接用excel文件里做说明,你需要下载文件。我这里就全…

    2022-04-18
  • 室内装潢包括什么_室内装潢注意事项

    装潢也就是装修,装潢是很麻烦的事情,在装潢房子时要注重装修的技巧,要根据自己房子的样式和面积进行装潢,这样也可以保证室内的装潢质量。以下是关于室内装潢具体指什么的内容。 一、室内装…

    2023-06-06
  • 怀孕的信号有哪些什么(一分钟判断怀孕的小方法)

    怀孕是一件很幸福的事。肚子里的一颗小种子,慢慢长成一个小生命。宝宝一点一点长大,妈妈慢慢感受到他们的存在,真的很开心。但是怀孕并不容易,而且受精卵在子宫落地时,大多数人都没有什么感…

    2022-04-18
  • 功夫豆芽!学校厨师用豆芽做出动画大片

    近日,河北邢台。王师傅是一名校厨,因疫情没开学,他开始琢磨用豆芽摆出各种造型和动画人物。 早期是摆一些静态画,后来开始制作动画片。一个豆芽动画短片,要保证连贯性,王师傅要用六七个小…

    2024-08-04
  • 湖南有哪些知名富豪_湖南三大知名富豪简介

    湖南三大知名富豪:一个打造了微信,一个创办了快手实现身价千亿 推荐语:有句话说“好山好水出美人,穷山恶水出刁民”,可见一个地方的环境好坏,能影响当地人的气质和行为习惯。 在我国历史…

    2023-04-24
  • 画江湖之不良人_燃爆全场

    《画江湖之不良人》是若森数字从2014年开始制作的动漫,至今已更完五季。 该动漫的男主是身为李唐唯一血脉的李星云,由于自己的身份,他从小辗转,后来陆续结识了师妹陆林轩、通文馆张子凡…

    2023-04-03
  • 汽车异味怎么快速去除_怎么消除汽车异味

    夏季高温,每次把车子停在外面,再上车的时候,车上总会有一股难闻的气味,这就是由于内饰被太阳长时间的照射,散发出来的异味;还有夏天人身上出汗的汗臭味儿,有的人还会在车上吃一些味道重的…

    2022-07-14
  • 传祺影豹值得买吗_广汽影豹怎么样

    10万左右的价格区间,大家脑海中最先浮现出来的都是哪些轿车产品呢?宝来、朗逸、英朗、轩逸抑或是帝豪GL、缤瑞、逸动?不难看出,这些产品主打的都是亲民、家用,动力性能普遍不强,毕竟,…

    2022-05-02
  • 房龄超过20年怎么贷款吗,住房贷款最长可以贷多少年

    一、房龄超过20年可以贷款吗 人们在申请住房抵押贷款时,房龄确实是影响因素,但并不是绝对。有些地方申请二手房贷款没有房龄限制,而有房龄限制的,并没有规定说房龄超过20年就一定不能贷…

    2023-09-27

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注