1. 程式人生 > >cookie、LocalStorage 與 SessionStorage三者的區別

cookie、LocalStorage 與 SessionStorage三者的區別

三者之間的不同:

1、cookie資料始終在同源的http請求中攜帶,即cookie在瀏覽器和伺服器間來回傳遞。而sessionStorage和localStorage不會自動把資料發給伺服器,僅在本地儲存。cookie資料還有路徑(path)的概念,可以限制cookie只屬於某個路徑下。 2、儲存大小限制也不同,cookie資料不能超過4kb,同時因為每次http請求都會攜帶cookie,所以cookie只適合儲存很小的資料,如會話標識。sessionStorage和localStorage 雖然也有儲存大小的限制,但比cookie大得多,可以達到5M或更大。 3、資料有效期不同,sessionStorage:僅在當前瀏覽器視窗關閉前有效,自然也就不可能持久保持;localStorage:始終有效,視窗或瀏覽器關閉也一直儲存,因此用作持久資料;cookie只在設定的cookie過期時間之前一直有效,即使視窗或瀏覽器關閉。 4、作用域不同,sessionStorage不在不同的瀏覽器視窗中共享,即使是同一個頁面;localStorage 在所有同源視窗中都是共享的;cookie也是在所有同源視窗中都是共享的。 5、Web Storage 支援事件通知機制,可以將資料更新的通知傳送給監聽者。 6、Web Storage 的 api 介面使用更方便。 ps:Web Storage帶來的好處:1、減少網路流量:一旦資料儲存在本地之後,就可以避免再向伺服器請求資料,因此減少不必要的資料請求,減少數 據在瀏覽器和伺服器間不必要的來回傳遞; 2、快速顯示資料:效能好,從本地讀資料比通過網路從伺服器上獲得資料快得多,本地資料可以及時獲得,再加上網頁本身也可以有快取,因此整個頁面和資料都在本地的話,可以立即顯示 3、臨時儲存:很多時候資料只需要在使用者瀏覽一組頁面期間使用,關閉視窗後資料就可以丟棄了,這種情況使用sessionStorage非常方便 localStorage和sessionStorage都是h5新增的本地儲存方法,也是通過”鍵:值”對的形式儲存資料,區別在於兩者的生存時間不同: localStorage是永續性的,即使關閉視窗或者關閉瀏覽器,都不會被刪除,除非進行手動刪除; sessionStorage是臨時的,當視窗或者瀏覽器關閉,則其也會隨之清除;