该请求头是pre-flight请求在客户端(常见的如浏览器)缓存时间长度,该请求伴随POST、PUT请求存在,在POST请求发出之前一般会发送pre-flight请求来试探下服务器,看下是否有些请求头或者请求方法服务器端是否支持,如下图所示:
从上图可以看出服务器端支持POST、GET等请求,上面返回的
Access-Control-Max-Age:3600(单位为秒,超时时间为1小时)表示该pre-flight请求在客户端1小时后过期,在这个时间段内发送POST请求就不会再伴随着发送pre-flight请求,这样可以减少对服务器的压力,但是时间也不宜设置太大,由于频繁发包阶段,同时又修改了Cors配置。
如何想允许支持更多的方法那么在服务器端配置,下面是spring的一段常见的cors配置:
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("POST","GET","OPTIONS")
.allowedHeaders("*")
.allowCredentials(false).maxAge(3600);
}
}
可以看下笔者之前写过的一篇博文:https://blog.csdn.net/john1337/article/details/78928851