sessionStorag 生命週期

admin發表於2019-10-22

本文將簡單介紹一下sessionStorag 的生命週期。

它的生命週期可能與很多朋友預期有一些差別,所以特別介紹一下。

一.Cookie生命週期:

(1).預設狀態下,關閉瀏覽器cookie就會自動過期。

(2).如果明確規定過期日期,那麼以規定日期為準。

二.Sessioon生命週期:

很多文章說,當瀏覽器關閉,Sessioon即刻過期。

上述說法並非完全正確,原因分析如下:

(1).在Cookie中儲存的是當前使用者的唯一標識Sessioon_id。

(2).當關閉瀏覽器時,預設此cookie、會失效,那麼客戶端的Sessioon_id會丟失。

(3).但是,伺服器端的Session物件可能並未過期。

(4).當再次發起HTTP請求的時候,不能傳送Sessioon_id到伺服器,於是就出現上文所說的過期。

最後再強調一下,只是客戶端儲存Sessioon_id的cookie過期,伺服器端的Session物件不一定過期。

三.sessionStorag生命週期:

sessionStorag在關閉瀏覽器選項卡時就會過期,關閉瀏覽器視窗自然也會過期。

a:3:{s:3:\"pic\";s:43:\"portal/201910/22/000459pu02d2pzxx2ixh9b.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

假設我們在"sessionStorage 用法"一文所處的選項卡頁面儲存若干資料。

關閉此選項卡(即便瀏覽器視窗沒有關閉),再次開啟"sessionStorage 用法"一文,資料也會丟失。

如下操作不會導致sessionStorag資料丟失:

(1).重新整理重新載入當前頁面,不會丟失資料。

(2).瀏覽器崩潰重新恢復,不會丟失資料。

手動開啟一個選項卡,即便是相同URL,也不會共享sessionStorage資料。

如何共享資料,可以參閱 Sessionstorage 資料共享一章節。

Cookie和session與sessionStorag並不相同,在僅關閉選項卡的情況下,並不會失效。

localStorage則會在本地永遠儲存,除非人為刻意刪除。