關於LocalStorage,sessionStorage,cookie適用場景

比較:

localStorage:HTML5新增的在瀏覽器端存儲數據的方法。設置和獲取localStorage的方法:

設置: localStorage.name = 'val';

獲取: localStorage.name   //val

sessionStorage: HTML5新增的在瀏覽器端存儲數據的方法,設置和獲取sessionStorage的方法:

設置: sessionStorage.name = 'val';

獲取: sessionStorage.name   //val

cookie:瀏覽器和服務器端都可以設置cookie,傳統的用來存儲數據的方法。

關係:

1.cookie在瀏覽器和服務器端來回傳遞數據,而localStorage和sessionStorage不會自動把數據發送給服務器,僅會保存在本地。cookie會在瀏覽器請求頭或者ajax請求頭中發送cookie內容。

2.cookie可以設置過期日期,sessionStorage是會話級的數據,瀏覽器窗口關閉即清楚,localStorage是永久性的數據,一旦賦值,不管多長時間這值都是存在的,除非手動清除。

3.cookie的存儲大小受限制,一般不超過4k,而localStorage和sessionStorage的存儲大小一般不超過5M,大大提高了存儲的體積。

4.sessionStorage不跨窗口,在另外一個窗口打開sessionStorage就不存在了,它只在當前窗口有效,而cookie和localStorage都是跨窗口的,即使瀏覽器的窗口關閉,這兩個值還是存在的。

適用場景:

localStorage可以用來統計頁面訪問次數,用於一些網站首次打開展示的用戶操作指南。

sessionStorage可以用來統計當前頁面元素的點擊次數,當前登錄的用戶信息。

cookie一般存儲用戶名密碼相關信息,一般使用escape轉義編碼後存儲。

localStorage的侷限

1、瀏覽器的大小不統一,並且在IE8以上的IE版本才支持localStorage這個屬性

2、目前所有的瀏覽器中都會把localStorage的值類型限定爲string類型,這個在對我們日常比較常見的JSON對象類型需要一些轉換

3、localStorage在瀏覽器的隱私模式下面是不可讀取的

4、localStorage本質上是對字符串的讀取,如果存儲內容多的話會消耗內存空間,會導致頁面變卡

5、localStorage不能被爬蟲抓取到

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章