You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

外部来源POST请求闲置90秒后Cookie丢失(Express+express-session示例)

3DS支付场景中POST请求Cookie超时丢失问题分析

核心成因

这个问题的本质是Cookie有效期设置与请求延迟的交互冲突,具体细节如下:

  • 服务端给会话Cookie设置了约90秒的有效期(通过Max-Age或Expires参数),当POST请求的提交延迟超过这个时间,Cookie已过期,浏览器会严格遵循HTTP协议,不再将过期Cookie附加到请求头中,因此req.headers.cookie会变为undefined。
  • GET请求无此问题,是因为测试场景中GET请求的触发时机都在Cookie有效期内,或是浏览器对GET请求的缓存机制让请求在Cookie有效期内完成,未触发过期逻辑。
  • 3DS支付场景的偶发登出,是因为用户被重定向到新标签页完成验证的时间偶尔超过90秒,返回原网站发起POST回调请求时,会话Cookie已过期,服务端无法识别用户身份,导致登出。

验证方向

可以检查服务端设置Cookie的代码,确认是否存在类似res.cookie('sessionId', value, { maxAge: 90000 })(90000毫秒=90秒)的配置,这会直接导致Cookie在90秒后过期。

内容的提问来源于stack exchange,提问作者Dmo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 05:22:04