我在 NodeJS,Express 应用程序上,我正在为我的应用程序的某些功能使用 cookie。我需要将 cookie 生命周期设置为一个月。
为此,我将 cookie maxAge 设置为 days*hoursPerDay*minutesPerHour*secondsPerMinute*1000
以达到一个月的时间 30*24*60*60*1000
= 2592000000
。
但在浏览器中,我的 cookie 过期时间接近 10 小时。
我错过了什么,我的计算有误吗?或者我使用了错误的属性 (maxAge
)?
还有cookie的maxAge
和expiry
属性有什么区别?
最佳答案
据我所知,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/