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

Express.js中Cookie随浏览器关闭失效问题:如何设置永久保留的Cookie

解决Express.js中Cookie关闭浏览器后消失的问题

你遇到的情况是因为默认设置的Cookie是会话Cookie——这类Cookie不会存储在硬盘上,只在当前浏览器会话中有效,关闭浏览器就会被自动清除。要让Cookie持久保留,只需要在设置Cookie时指定过期时间即可,Express的res.cookie()方法支持两种配置方式:

方法1:使用expires设置具体过期日期

直接指定Cookie的过期时间点,比如设置Cookie7天后过期:

// 设置7天后过期的Cookie
res.cookie("name", "value", {
  expires: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000), // 计算7天后的时间戳
  // 可选:增加安全配置
  httpOnly: true, // 防止前端JS访问Cookie,提升安全性
  // secure: true, // 仅在HTTPS环境下生效,本地开发HTTP时不要开启
});

方法2:使用maxAge设置存活时长

maxAge更直观,直接指定Cookie从设置时刻起的存活毫秒数,同样以7天为例:

// 设置存活7天的Cookie
res.cookie("name", "value", {
  maxAge: 7 * 24 * 60 * 60 * 1000, // 7天的毫秒数
  httpOnly: true,
  // secure: true,
});

额外注意事项

  • maxAge和expires二选一即可,Express会自动处理两者的优先级(maxAge优先级更高)。
  • 如果需要Cookie长期有效,可以设置更长的时长,比如1年:365 * 24 * 60 * 60 * 1000,但要注意浏览器对Cookie存储的限制(大部分浏览器支持最长有效期为1年)。
  • 当在生产环境的HTTPS服务中使用时,建议开启secure: true,确保Cookie只通过HTTPS传输,避免被窃取。

内容的提问来源于stack exchange,提问作者Azizul Hakim Ashik

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.01 00:04:06