相同點:客戶端都會存儲
不同點
不同點 | 存儲大小 | 有效時間 | 數據與服務器交互方式 |
cookies | <=4K | 在設置cookie過期之前一直有效(無論窗口瀏覽器是否關閉) | 正常情況下,cookies數據會自動傳到服務器,服務器也可以寫cookie到客戶端 |
sessionstorage | 5M | 數據在當前瀏覽器關閉后刪除(sessionStorage與存儲數據的頂級窗口或瀏覽器選項卡具有相同的生命周期。) | 不會發送數據到服務端 |
localstorage | 5M | 持久存儲,瀏覽器關閉后不會丟失除非主動刪除(直到Web應用程序刪除它或用戶要求瀏覽器刪除它) | 不會發送數據到服務端 |
localstorage和sessionstorage都是H5提供的新的存儲類型,以前只有cookies來完成存儲的工作。
這兩種新方式存儲限制比使用cookie要大得多(至少5MB),而且速度更快。
數據永遠不會傳輸到服務器,只有在客戶端特別要求時才能使用。
通過localStorage存儲的數據是永久性的:它不會過期並保留在用戶的計算機上,直到Web應用程序刪除它或用戶要求瀏覽器刪除它。
sessionStorage與存儲數據的頂級窗口或瀏覽器選項卡具有相同的生命周期。當選項卡永久關閉時,將刪除通過sessionStorage存儲的所有數據。
localStorage和sessionStorage之間關於存儲范圍的差異:兩種存儲形式都限定在文檔原點,以便具有不同來源的文檔永遠不會共享存儲的對象。
sessionStorage也是基於每個窗口的范圍。包含來自同一來源的文檔的兩個瀏覽器選項卡具有單獨的sessionStorage數據。
與localStorage不同,來自同一源的相同腳本在不同選項卡中打開時無法訪問彼此的sessionStorage。