跨域:eg:浏览器某网页地址栏ip1,发送一个请求到ip2,ip1!=ip2,此时就是跨域
Ps:协议,一级域名、二级域名、端口、ip有一点不同都算“域”不同
跨域出现的问题:服务器可以接收请求处理,但反馈到浏览器时,浏览器报如下错误:
解决跨域: response 设置了相应的 CORS 响应头,就可以通过浏览器的“同源策略”,完成了跨域
1、利用@CrossOrigin/CorsRegistry
这种有缺陷,因为本质上是利用在拦截器链最后加入CorsInteceptor完成的,如果链上其他的拦截器抛异常就会失效
2.利用反向代理服务器
同源策略是浏览器需要遵循的标准,而如果是服务器向服务器请求就无需遵循同源策略
所以通过反向代理服务器可以有效的解决跨域问题,代理服务器需要做以下几个步骤:
1.接受客户端的请求
2.将请求转发给实际的服务器
3.将服务器的响应结果返回给客户端
eg:nginx
3、通过CorsFilter设置全局跨域配置
本文仅是个人理解,详细请参考此文:https://www.jianshu.com/p/967821d3f6d6