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僅在當前瀏覽器會話期間有效,關閉瀏覽器或切換標籤頁後,其存儲的數據會被清空。