cookie,localStorage,SessionStorage三者的區別


基本概念

cookie英文餅干,顧名思義,大小應該非常小,cookie非常小,它的大小限制在4kb左右,是網景公司的前雇員在1993年發明。它的主要用於保存登陸信息,比如你登陸某個網站市場可以看到'記住密碼’,這就是通過在cookie中存入一段辨別用戶身份的數據來實現的。

localStorage

localStorage是HTML5標准中新加入的技術,當然早在IE6時代就有一個userData的東西用於本地存儲,而當時考慮到瀏覽器的兼容性,更通用的方案是使用flash。如今localStorage被大多數瀏覽器所支持。

sessionStorage

sessionStorage與localStorage的接口類似,但保存數據的生命周期與localStorage不同,做過后端的同學都知道Session這個詞,翻譯過來就是會話。而sessionStorage是前端的一個概念。它只是可以將一部分數據在當前會話中保存下來,刷新頁面數據依舊存在。但是葉敏啊關閉后,sessionStorage中的數據就會被清空。

三者的異同

數據上的生命周期的不同

Cookie 一般由服務器生成,可設置失效時間,如果在瀏覽器端生成cookie,默認是關閉后失效。

localStorage 除非被永久清除,否則永久保存。

sessionStorage 僅在當前會話會有效,關閉頁面或瀏覽器后被清除

存放數據的大小不同

Cookie 一般為4kb

localStorage 和 sessionStorage 一般為5mb

與服務器端通信不同

Cookie 每次都會攜帶HTTP頭中,如果使用cookie保存過多數據會帶來性能問題

localStorage 和 sessionStorage 僅在客戶端(即瀏覽器)中保存,不參與和服務器的通信。

易用性

Cookie 需要程序員自己來封裝,原生的cookie接口不夠友好

localStorage 和 sessionStorage 原生接口可以接受,可以封裝來對Object和Array有更好的支持。

應用場景

因為考慮到每個HTTP請求都會帶着Cookie的信息,所以Cookie當然能是精簡就精簡力,比較常用的一個應用場景就是判斷用戶是否登陸,針對登陸過的用戶服務端就在它登陸時往Cookie中祝福一段加密過的唯一識別單一用戶的辨識碼,下次只要讀取這個值就可以判斷當前用戶是否登陸。曾經還使用Cookie來保存用戶在電商網站上的購物車信息,如今有來localStorage,這一切問題變得越來越輕松。


免責聲明!

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



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