导语
在实际工作开发中经常会遇到跨域请求,这个时候就需要前后端来共同协调来解决问题,那么在Spring Boot中怎么解决跨域请求问题呢?下面就来看看
什么是跨域
为了保证浏览器的安全,不同源地址的客户端脚本在没有经过明确授权的情况下是不能读写彼此的资源的,这个就是叫做同源策略,同源策略是浏览器安全问题的基石。如果没有这种限制,那么浏览器可以毫无限制的去控制整个的网络体系。那么什么是跨域呢?
如果一个请求地址里面的协议、域名和端口号都相同,就属于同源。
例如,判断下面的URL是否和http://www.a.com/a/a.html同源:
- http://www.a.com/b/b.html 同源
- http://www.b.com/a/a.html 不同源,域名不同
- https://www.a.com/b/b.html 不同源,协议不同
- http://www.a.com:8080/b/b.html 不同源,端口号不同
根据同源策略,非同源脚本不可以操作其他源下面的对象,想要操作的话就需要进行跨域,在同源策略下,非同源的网站之间不能发送Ajax请求。如果有这样的需求,就需要进行跨域操作。
CORS 技术
为了解决上述问题,W3C提出了跨院资源共享方案,也就是CORS技术(Cross-Origin Resource Sharing)
CORS 可以在不破坏现有规则的情况下,通过后端服务器实现CORS接口,从而实现跨域