cookie maxAge和Expiry有什么区别

ɢʜʘ*_*ɔʘɴ 5 cookies node.js express

我在NodeJS Express应用程序上,我正在使用Cookie来实现我的应用程序的某些功能。我需要将Cookie寿命设置为一个月。

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

但是,在浏览器中,我的Cookie的有效期限接近10个小时。

我缺少什么,我的计算是错误的?还是我使用了错误的attribute(maxAge)?

Cookies maxAgeexpiry属性之间有什么区别?

Rza*_*sar 7

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

  • 我的意思是,是的,Internet Explorer(IE6、IE7 和 IE8)不支持“max-age”,但谁在乎呢。现在已不再是 2009 年(所引用的博客文章的日期)。 (3认同)

sub*_*bul 1

maxAge 应该以毫秒为单位设置(我错了,因为我提到了客户端部分) https://developer.mozilla.org/en-US/docs/Web/API/document.cookie

你是像下面这样设置苦力吗?

res.cookie('rememberme', '1', { maxAge: 900000, httpOnly: true }) http://expressjs.com/api.html#res.cookie