CORS工作原理:
根据官方文档W3C规范-CORS:
简单来说,CORS是一种访问机制,英文全称是Cross-Origin Resource Sharing,即我们常说的跨域资源共享,通过在服务器端设置响应头,把发起跨域的原始域名添加到Access-Control-Allow-Origin 即可。
从原理图可以看出,简单的请求(通常指GET/POST/HEAD方式,并没有去增加额外的请求头信息)直接创建了跨域请求的XHR对象,而复杂的请求则要求先发送一个”预检”请求,待服务器批准后才能真正发起跨域访问请求。
SpringBoot配置CORS跨域访问:
添加依赖:CORS只需添加WEB依赖即可
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
创建CORS配置类:需继承WebMvcConfigurer
addMapping:可以被跨域的路径,”/**”表示无限制。
allowedOrigins:”*”允许所有的请求域名访问跨域资源,当设置具体URL时只有被设置的url可以跨域访问。例如:allowedOrigins(“https://www.baidu.com”),则只有https://www.baidu.com能访问跨域资源。
allowedMethods:允许跨域访问资源服务器的请求方式,如:POST、GET、PUT、DELETE等,“*”表示无限制。