1. 程式人生 > >sessionStorage,localStorage,cookie區別

sessionStorage,localStorage,cookie區別

1、cookie資料始終在同源的http請求中攜帶(即使不需要),即cookie在瀏覽器和伺服器間來回傳遞,而sessionStorage和localStorage不會自動把資料傳送給伺服器,僅在本地儲存。cookie資料還有路徑(path)的概念,可以限制cookie只屬於某個路徑下  2、儲存大小限制也不同,cookie資料不能超過4K,同時因為每次http請求都會攜帶cookie、所以cookie只適合儲存很小的資料,如會話標識。sessionStorage和localStorage雖然也有儲存大小的限制,但比cookie大得多,可以達到5M或更大  3、資料有效期不同,sessionStorage:僅在當前瀏覽器視窗關閉之前有效;

localStorage:始終有效,視窗或瀏覽器關閉也一直儲存,因此用作持久資料;cookie:只在設定的cookie過期時間之前有效,即使視窗關閉或瀏覽器關閉  4、作用域不同,sessionStorage不在不同的瀏覽器視窗中共享,即使是同一個頁面;localstorage在所有同源視窗中都是共享的;cookie也是在所有同源視窗中都是共享的 

  1. 都會在瀏覽器端儲存,有大小限制,同源限制
  2. cookie會在請求時傳送到伺服器,作為會話標識,伺服器可修改cookie;web storage不會發送到伺服器
  3. cookie有path概念,子路徑可以訪問父路徑cookie,父路徑不能訪問子路徑cookie
  4. 有效期:cookie在設定的有效期內有效,預設為瀏覽器關閉;sessionStorage在視窗關閉前有效,localStorage長期有效,直到使用者刪除
  5. 共享:sessionStorage不能共享,localStorage在同源文件之間共享,cookie在同源且符合path規則的文件之間共享
  6. localStorage的修改會促發其他文件視窗的update事件
  7. cookie有secure屬性要求HTTPS傳輸
  8. 瀏覽器不能儲存超過300個cookie,單個伺服器不能超過20個,每個cookie不能超過4k。web storage大小支援能達到5M