Note | 瀏覽器本地存儲

Kenny Chang
ヒガシの日常
Published in
3 min readJun 22, 2020
  1. Cookie : 廣泛應用,局限明顯。支持數據存儲量相對較少,每個domain 最多只能有20 條cookie ,每個cookie 長度不能超過4KB ,否則會被截掉;同時,存在安全性問題,如果被攔截,就可以取得所有的session信息。
  2. Flash SharedObject :使用的是 kissy 的 store 模組來調用 Flash SharedObject 。
    優點:容量適中,基本上不存在兼容性問題
    缺點:要在頁面中引入特定的 Flash 和 JS ,增加額外負擔,處理繁瑣;還是有部分裝置沒有 flash 運行環境。
  3. Google Gears : Google 的離線方案,已經停止更新,官方推薦使用 HTML5 的 localStorage 方案。
  4. User Data : 是微軟為 IE 專門在系統中開闢的一塊存儲空間,只支持 Windows+IE 的組合。單個文件的大小限制是 128KB ,一個域名下總共可以保存 1024KB 的文件,文件個數應該沒有限制。在受限站點裡這兩個值分別是 64KB 和 640KB 。
    (所以如果考慮到各種情況的話,單個文件最好能控制 64KB 以下。)
    (實際測試 2000 ( IE5.5 )、 XP ( IE6 、 IE7 ), Vista ( IE7 )下都是可正常使用。)
  5. Web Storage
    在較高版本的瀏覽器中, JS 提供了 sessionStorage 和 globalStorage 。
    在 HTML5 中提供了 sessionStorage 和 localStorage 。
    SessionStorage 用於本地存儲一個會話( session )中的數據,這些數據只有在同一個會話中的頁面才能訪問,會話結束後數據隨之銷毀。因此 sessionStorage 不是一種持久化的本地存儲,僅僅是會話級別的存儲。
    GlobalStorage 跨越會話存儲數據。有特定訪問限制,要指定哪些域可訪問該數據。
    LocalStorage 用於持久化的本地存儲,除非主動刪除數據,否則數據是永遠不會過期的。不能給 localStorage 指定任何規則,要訪問同一個 localStorage ,頁面必須使用同一個域名,使用同一種協議,在同一個端口上。
    優點:容量大、易用、強大、原生支持
    缺點:
    1. 兼容性差( Chrome, Safari, Firefox,Opera,IE8+ 支持 , IE8 以下版本不支持)
    2. 安全性差(所以請勿使用 localStorage 保存敏感信息)

--

--