跨域问题
为什么出现跨域问题
出于安全性,浏览器限制脚本内发起的跨域 HTTP 请求,例如常见的 XHR、Fetch API 都遵循同源策略。
同源策略是一个重要的安全策略,它用于限制一个 Origin 的文档或它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。
判定条件:如果两个 URL 的协议(Protocol)、主机(Host)、端口(Port,如果有指定的话)都相同的话,那么这两个 URL 是同源的,否则是不同源的。
有浏览器存在,才会产生跨域问题。而浏览器浏览器最核心、最基本的安全功能是同源策略。基于这种策略下,不予许访问非同源的资源
跨域问题通常出现在前后端分离的项目中,前后端的资源交互过程中就会出现跨域问题。
如何解决跨域问题
通常解决跨域问题的途径有以下几种:
1、通过@CrossOrigin注解
2、通过Nignx作为反向代理服务器,就是把Http请求转发到另一个或者一些服务器上。通过把本地一个url前缀映射到要跨域访问的web服务器上,就可以实现跨域访问。
3、通过GateWay网关等配置解决。