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

该请求头是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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值