【總結】Cookie、session和localStorage、以及sessionStorage之間的區別

cookie是由服務器發送到瀏覽器的小量信息,瀏覽器會將cookie保存下來,下次請求同一網站時會將cookie發送給服務器。

session

session是指一個用戶與交互進行通信的時間間隔,比如登錄到登出的這一過程所需要的時間。具體到web中就是用戶瀏覽某個網站時,從進入網站到關閉瀏覽器所經過的這段時間。注意!!session是一個時間概念,並非客觀存在的東西

當程序需要爲某個客戶端的請求創建一個session時,服務器首先檢查瀏覽器中是否包含session標識(稱爲session id),如果已包含則說明爲此客戶端創建過session,服務器按照這個session id把session對象檢索出來使用;如果不包含則爲客戶端創建一個session並且生成一個對應的session id,並且在響應中返回給客戶端,客戶端可以將他保存爲cookie格式。

cookie和session的區別

Cookie session對象
存儲位置 客戶端(設置過期時間在硬盤;沒設置在內存中) 服務端
時效性 自定義的過期時間(沒設置關閉瀏覽器則消除) session不活動時超出設置時間失效
存儲類型 字符串 對象
安全性 明文(可以加密後存放) 放在服務器內存中,安全

localStorage

localStoragesessionStorage都屬於Web Storage。

localStorage以鍵值對的形式存儲在瀏覽器中,永久存儲,永不失效,除非手動刪除。

sessionStorage

sessionStorage 屬性允許你訪問一個 session Storage 對象。它與 localStorage 相似,不同之處在於 localStorage 裏面存儲的數據沒有過期時間設置,而存儲在 sessionStorage 裏面的數據在頁面會話結束時會被清除。頁面會話在瀏覽器打開期間一直保持,並且重新加載或恢復頁面仍會保持原來的頁面會話。在新標籤或窗口打開一個頁面會初始化一個新的會話,這點和 session cookies 的運行方式不同。

localStorage 和 sessionStorage 的區別

localStorage sessionStorage
有效期 永久存儲,永不失效,除非手動刪除 關閉會話窗口失效
作用域 同源窗口 僅在同一個標籤頁中

參考資料

  1. 百度百科
  2. Cookie、session和localStorage、以及sessionStorage之間的區別
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章