addcorsmappings 配置跨域原理
时间: 2023-07-05 08:14:32 浏览: 143
`addCorsMappings` 是 Spring Framework 中的一个配置类,用于配置跨域请求的访问规则。
当浏览器发起跨域请求时,会先发送一个 OPTIONS 请求,询问是否可以跨域访问该资源。如果服务器端的响应中包含了跨域访问的规则,浏览器就会发送真正的跨域请求。
`addCorsMappings` 方法中可以设置允许跨域请求的来源、请求方法、请求头等信息。具体实现原理是在响应头中添加 `Access-Control-Allow-Origin`、`Access-Control-Allow-Methods`、`Access-Control-Allow-Headers` 等字段,以告知浏览器该资源允许跨域访问。
例如,以下代码配置了允许来自本地 8080 端口的跨域请求:
```java
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("http://localhost:8080")
.allowedMethods("*")
.allowedHeaders("*");
}
}
```
这样,在浏览器发起跨域请求时,服务器端就会返回以下响应头信息:
```
Access-Control-Allow-Origin: http://localhost:8080
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Headers: *
```
从而允许跨域访问该资源。
阅读全文