1. 程式人生 > >storage與cookie的相同點和區別

storage與cookie的相同點和區別

共同點:都是儲存在瀏覽器端,且同源的。區別:

cookie資料始終在同源的http請求中攜帶(即使不需要),即cookie在瀏覽器和伺服器間來回傳遞。

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

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

儲存大小限制也不同,cookie資料不能超過4k,同時因為每次http請求都會攜帶cookie,所以cookie只適合儲存很小的資料,如會話標識。

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

資料有效期不同,

sessionStorage:僅在當前瀏覽器視窗關閉前有效,自然也就不可能持久保持;

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

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

作用域不同,sessionStorage不在不同的瀏覽器視窗中共享,即使是同一個頁面;

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

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

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

Web Storage 的 api 介面使用更方便。