cookie,sessionStorage和localStorage的区别
共同點:都是保存在瀏覽器端,且同源的。
區別:
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接口使用更方便。
sessionStorage用于本地存儲一個會話(session)中的數據,這些數據只有在同一個會話中的頁面才能訪問并且當會話結束后數據也隨之銷毀。
因此sessionStorage不是一種持久化的本地存儲,僅僅是會話級別的存儲。
而localStorage用于持久化的本地存儲,除非主動刪除數據,否則數據是永遠不會過期的。
總結
以上是生活随笔為你收集整理的cookie,sessionStorage和localStorage的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C库函数 - strcspn()
- 下一篇: Kubernetes的Device Pl