js三種存儲方式區別

javaScript有三種數據存儲方式,分別是:java

sessionStorageapi

localStorage瀏覽器

cookier服務器

相同點:都保存在瀏覽器端,同源的cookie

不一樣點:session

①傳遞方式不一樣接口

cookie數據始終在同源的http請求中攜帶(即便不須要),即cookie在瀏覽器和服務器間來回傳遞。事件

sessionStorage和localStorage不會自動把數據發給服務器,僅在本地保存。ip

②數據大小不一樣作用域

cookie數據還有路徑(path)的概念,能夠限制cookie只屬於某個路徑下。
存儲大小限制也不一樣,cookie數據不能超過4k,同時由於每次http請求都會攜帶cookie,因此cookie只適合保存很小的數據,如會話標識。

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

③數據有效期不一樣

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

localStorage:始終有效,窗口或瀏覽器關閉也一直保存,所以用做持久數據;

cookie只在設置的cookie過時時間以前一直有效,即便窗口或瀏覽器關閉。

④做用域不一樣

sessionStorage不在不一樣的瀏覽器窗口中共享,即便是同一個頁面;

localStorage 在全部同源窗口中都是共享的;

cookie也是在全部同源窗口中都是共享的。

Web Storage 支持事件通知機制,能夠將數據更新的通知發送給監聽者。Web Storage 的 api 接口使用更方便。

相關文章
相關標籤/搜索