CORS跨域解决
CORS,全称Cross-Origin Resource Sharing ,是一种允许当前域的资源(比如html/js/web service)被其他域的脚本请求访问的机制,通常由于同域安全策略(the same-origin security policy)浏览器会禁止这种跨域请求。
CORS使用了一个额外的HTTP响应头来赋予当前的user-agent(浏览器)获得非同源的权限,这里的非同源就是Cross-Origin的概念,这里的权限就是访问非同源的资源权限
一些老版本浏览器,仍然需要使用JSONP进行处理
同源:协议、端口、host都相同为同源
SpringBoot处理方法:
1、可以在配置类中注入WebMvcConfigurer @Bean对相关请求进行配置
2、或者可以实现WebMvcConfigurer接口,如下图所示。
CORS和JSONP比较
CORS与JSONP都是为了跨域,但是比JSONP强大
JSONP只支持GET请求,CORS支持所有类型的HTTP请求
JSONP的优势在于支持老式浏览器