web前端學習,幾種瀏覽器存儲數據的方式,平常遇到的一些問題(一)


瀏覽器端存儲數據的用途很廣泛,比如在保存用戶信息、存儲個性化設置信息、保存某種狀態或是資料等方面都會用到。

其中方法主要有三種:cookie、sessionStorage、localStorage。下面主要討論一下我在學習過程中發現這三者的區別。

1.是否與服務器端交互:

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

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

2.存儲大小限制:

cookie存儲的數據不能超過4k,同時因為每次http請求都會攜帶cookie,所以cookie只適合保存很小的數據,比如會話標識;

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

3.數據有效期不同:

sessionStorage僅在當前瀏覽器窗口關閉或刷新前有效,需要持久保存的數據自然也就不可能使用sessionStorage;

localStorage保存數據始終有效,窗口或瀏覽器關閉也一直保存,因此可用作持久保存數據;

cookie只在開發人員設置的有效期時間之前一直有效,即使窗口或瀏覽器關閉。

4.作用域不同:

sessionStorage在不同的瀏覽器窗口中不能共享,即使是同源頁面;

localStorage 在所有瀏覽器的同源窗口中都是共享的;

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM