1. 程式人生 > >cookie誤區之過期時間(谷歌瀏覽器)

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特意用來表示會話週期的。

在火狐瀏覽器的顯示是這樣的

注:臨時會話再瀏覽器關閉時刪除。