cookie误区之过期时间(谷歌浏览器)

这条cookie没有过期吗?

如果你是这样想的,你就进入了误区:

  1. expires设置的是过期时间,如果这个过期时间是在过去,说明这个cookie已经不会再发送到服务器,随后浏览器会把cookie删除的。
  2. 为什么是1969-12-31T23:59:59.000Z,这是一个UTC标准时间,unix时间戳是从1970-01-01T00:00:00Z开始的,这个也是我们计算时间戳的起始时间。console.log(new Date('1969-12-31T23:59:59.000Z').getTime());这个值是 -1000,-1秒,是习惯表达,用来表示过去时间的意思吧。

真实情况是这样的:

  1. cookie是没有过期的。
  2. 只是它的保存时间是一个会话周期(session), 临时性Cookie,不会被持久化,也就是当你关闭你的浏览器后,这个cookie就会消失。 
  3. 为什么题主看到的时间是1969-xxxx-xxxx,这个是chrome特意用来表示会话周期的。

在火狐浏览器的显示是这样的

cookie误区之过期时间(谷歌浏览器)_第1张图片

注:临时会话再浏览器关闭时删除。

你可能感兴趣的:(javascript)