图片
前言
跨域问题指的是在Web开发中,由于浏览器的同源策略限制,当一个网页尝试访问与它不同源(协议、域名或端口不同)的资源时,可能会遇到安全限制导致无法正常访问的问题。这种策略旨在防止恶意网站读取或修改其他网站的数据,保护用户信息安全。
这样说可能有点抽象,下面具体展开说明。
跨域问题演示
通常情况下,我们主流的开发模式是:前后端分离。当我们从浏览器80访问服务端81应用
图片
下面我们用一个Web工程,一个后端工程具体简单演示下。
1、Web工程结构:
图片
- application.properties
- index.html 页面
2、后端工程结构:
图片
- application.properties
- 测试应用
3、启动并测试
图片
浏览器报错产生跨域问题。
为什么产生跨域问题?
一般来讲,通常产生跨域问题有以下几种原因:
- 协议不同:如 https和http;
- 端口不同
- 域名不同
图片
这就是常说的同源策略的问题。产生跨域问题的根源就是请求不同源。
如何解决跨域问题?
从上边的问题来看,主要在于浏览器保护,对参数 "Access-Control-Allow-Origin"的设置。
主要有下解决方案:
一、使用@CrossOrigin注解
演示结果:
图片
二、使用全局跨域配置
三、使用CorsFilter跨域
四、使用Nginx来实现跨域
总结
- 跨域问题指的是在Web开发中,由于浏览器的同源策略限制,导致无法正常访问的问题。
- 主要原理就是请求参数Access-Control-Allow-Origin
参考文章: https://mp.weixin.qq.com/s/YQr0q4qeZb5p1s-FVEdJvg