该请求头是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/john1337/article/details/78928851

更多推荐

再谈http返回头部之Access-Control-Max-Age