瀏覽器本地儲存簡單瞭解一下

lerryteng發表於2018-01-19

webStorage:

  • sessionStorage:嚴格用於在一個瀏覽器會話中儲存資料,在瀏覽器關閉之後會立即刪除。
  • localStorage:用於跨會話持久化資料並遵循跨域安全策略。

cookie:

  • 一小塊可以客戶端設定也可以在伺服器端設定的資訊,每次發起請求時都會傳送它。

共同點:

  • 都是儲存在瀏覽器端,且同源的。

不同點:

  1. 網路請求方面:
  • cookie資料始終在同源的請求中攜帶,即cookie在瀏覽器和伺服器間來回傳遞。

  • sessionStorage和localStorage不會自動把資料發給伺服器,僅在本地儲存。

  1. 儲存空間方面:
  • cookie資料不能超過4k,同時因為每次http請求都會攜帶cookie,所以cookie只適合儲存很小的資料,如會話標識。

  • sessionStorage和localStorage 雖然也有儲存大小的限制,但比cookie大得多,可以達到5M或更大。

  1. 資料永續性方面:
  • sessionStorage:僅在當前瀏覽器視窗關閉前有效,自然也就不可能持久保持。

  • localStorage:始終有效,視窗或瀏覽器關閉也一直儲存,因此用作持久資料。

  • cookie只在設定的cookie過期時間之前一直有效,即使視窗或瀏覽器關閉。

  1. 作用域方面:
  • sessionStorage不在不同的瀏覽器視窗中共享,即使是同一個頁面。

  • localStorage 在所有同源視窗中都是共享的。

  • cookie也是在所有同源視窗中都是共享的。

  1. 此外:
  • cookie資料還有路徑(path)的概念,可以限制cookie只屬於某個路徑下。

  • Web Storage 支援事件通知機制,可以將資料更新的通知傳送給監聽者。


相關連結: 客戶端(瀏覽器端)資料儲存技術概覽

相關文章