JavaScript 中 cookie、localStorage 和 sessionStorage 三者的區別(轉載)

1、三者區別

  • cookie 用來保存登錄信息,大小限制爲 4KB 左右
  • localStorage 是 Html5 新增的,用於本地數據存儲,保存的數據沒有過期時間,一般瀏覽器大小限制在 5MB
  • sessionStorage 接口方法和 localStorage 類似,但保存的數據的只會在當前會話中保存下來,頁面關閉後會被清空。
名稱 生命期 大小限制 與服務器通信 是否可以跨域
cookie 一般由服務器生成,可設置失效時間。如果在瀏覽器端生成 Cookie,默認是關閉瀏覽器後失效 4KB 每次都會攜帶在 HTTP 頭中,如果使用 cookie 保存過多數據會帶來性能問題 一般不可,相同 domain 下可以允許接口請求攜帶 cookie
localStorage 除非被清除,否則永久保存 5MB 僅在瀏覽器中保存,不與服務器通信 不可
sessionStorage 僅在當前會話下有效,關閉頁面或瀏覽器後被清除 5MB 僅在瀏覽器中保存,不與服務器通信 不可

 

2、localStorage 進行怎麼進行跨域存儲?

localStorage 是不可以進行跨域操作的,但是想進行跨域操作可以使用 postMessage,websocket 進行變相的跨域操作。

 

3、localStorage和sessionStorage的生命週期區別

  • localStorage存儲的數據在瀏覽器關閉後仍然可用,除非用戶主動刪除;
  • sessionStorage僅在當前瀏覽器會話期間有效,關閉瀏覽器或切換標籤頁後,其存儲的數據會被清空。

 

原文鏈接

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章