node.js - cookie maxAge 和 expiry 有什么区别

标签 node.js cookies express

我在 NodeJS,Express 应用程序上,我正在为我的应用程序的某些功能使用 cookie。我需要将 cookie 生命周期设置为一个月。

为此,我将 cookie maxAge 设置为 days*hoursPerDay*minutesPerHour*secondsPerMinute*1000 以达到一个月的时间 30*24*60*60*1000 = 2592000000

但在浏览器中,我的 cookie 过期时间接近 10 小时。

我错过了什么,我的计算有误吗?或者我使用了错误的属性 (maxAge)?

还有cookie的maxAgeexpiry属性有什么区别?

最佳答案

据我所知,maxAge不会保存在 cookie 的规范中。
作为Don't trust Cookie setMaxAge证明了,maxAge的机制工作方式类似于更改/操纵 cookie 的到期日期(基于 SERVER_SIDE),但浏览器检查 cookie 的到期日期,基于 CLIENT_SIDE。
在我看来,这是不当行为。因为为了制作max-age按预期工作,客户端/服务器 DateTime 应该同步。

关于node.js - cookie maxAge 和 expiry 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23197106/

相关文章:

node.js - 在 Firebase 中使用 Node Express 服务器部署 Angular 4

node.js - Mongoose 模式和集合

mysql - Sequelize 查询,使用提供的值和表行值实现计算

node.js - 使用 Express Backend 和 express-session react App

javascript - 用一级 try ... catch 捕获 JavaScript Promise 中的错误

JavaScript 将变量数值存储为 cookie 或 session

python - 使用 GAE 用户服务 - 无法获取 "sign-in as a different user"

asp.net - 如何防止多个浏览器窗口在asp.net中共享同一个 session

node.js - Express、React、Node.js POST 路由 404 未找到

javascript - 无法更改默认 Electron 菜单上的元素