文章内容
2024/11/19 0:01:27,作 者: 黄兵
在跨域请求(cors)中 max_age 的作用
在 CORS(跨域资源共享)配置中,max_age
指定了 预检请求(OPTIONS 请求) 的结果可以缓存的时间,单位是秒。预检请求是浏览器在发送跨域请求(例如,使用 POST
或自定义头部)之前,先发送一个 OPTIONS
请求来询问服务器是否允许该请求的实际发送。
具体作用:
最大缓存时间(Max-Age):
max_age
参数指定了浏览器可以缓存预检请求的结果多长时间。如果在这个时间内,浏览器再次发起相同的跨域请求,它将直接使用缓存的结果,而不再发送预检请求。避免多次预检请求:如果
max_age
设置为较大的值,浏览器就不会每次都发送预检请求,而是直接使用缓存的响应,从而减少了跨域请求的延迟和带宽消耗。
示例:
如果 max_age
设置为 3600
,表示预检请求的结果可以缓存 1 小时。在这段时间内,所有相同的跨域请求都会跳过预检请求,直接使用之前的 CORS 配置响应。
用法:
{ "allow_origin": "https://*.pdflibr.com", "allow_methods": "GET, POST", "allow_headers": "*", "max_age": 3600 }
在上面的例子中,max_age: 3600
表示预检请求的结果将会缓存 3600 秒(即 1 小时),在此期间,跨域请求将不需要重复进行预检。
注意事项:
max_age
应该是一个正整数,表示缓存的秒数。- 如果不设置
max_age
,预检请求的结果默认不会被缓存。
其它相关推荐:
1、fontawesome Access-Control-Allow-Origin 跨域
2、用 Identity Server 4 (JWKS 端点和 RS256 算法) 来保护 Python web api
评论列表