怎样实现CORS跨域?

跨域: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


版权声明:本文为qq_32513795原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。