sessionStorag 生命週期
本文將簡單介紹一下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在關閉瀏覽器選項卡時就會過期,關閉瀏覽器視窗自然也會過期。
假設我們在"sessionStorage 用法"一文所處的選項卡頁面儲存若干資料。
關閉此選項卡(即便瀏覽器視窗沒有關閉),再次開啟"sessionStorage 用法"一文,資料也會丟失。
如下操作不會導致sessionStorag資料丟失:
(1).重新整理重新載入當前頁面,不會丟失資料。
(2).瀏覽器崩潰重新恢復,不會丟失資料。
手動開啟一個選項卡,即便是相同URL,也不會共享sessionStorage資料。
如何共享資料,可以參閱 Sessionstorage 資料共享一章節。
Cookie和session與sessionStorag並不相同,在僅關閉選項卡的情況下,並不會失效。
localStorage則會在本地永遠儲存,除非人為刻意刪除。
相關文章
- 生命週期
- View生命週期與Activity生命週期的關係View
- PHP 生命週期PHP
- Flutter - 生命週期Flutter
- Fragment生命週期Fragment
- Activity生命週期
- vue - 生命週期Vue
- React生命週期React
- ubuntu生命週期Ubuntu
- React 生命週期React
- vue生命週期Vue
- Salesforce 生命週期管理(一)應用生命週期淺談Salesforce
- Activity生命週期onDestroy
- Flutter -- Element生命週期Flutter
- Flutter 的生命週期Flutter
- SQL的生命週期SQL
- java servlet 生命週期JavaServlet
- React-生命週期React
- vue 生命週期梳理Vue
- Laravel的生命週期Laravel
- 理解VUE生命週期Vue
- React 元件生命週期React元件
- Laravel框架生命週期Laravel框架
- ReactNative 生命週期React
- vue的生命週期Vue
- JSP生命週期JS
- React元件生命週期React元件
- vue 生命週期深入Vue
- Fragment的生命週期Fragment
- iOS App生命週期iOSAPP
- App的生命週期APP
- View的生命週期View
- spring生命週期Spring
- Servlet的生命週期Servlet
- IOC - bean 生命週期Bean
- bean的生命週期Bean
- UIAbility元件生命週期UI元件
- ASP.NET頁面生命週期與應用程式生命週期ASP.NET