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

存放數據的大小不一樣

Cookie 通常爲4kbsession

localStorage 和 sessionStorage 通常爲5mb性能

與服務器端通訊不一樣

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

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

易用性

Cookie 須要程序員本身來封裝,原生的cookie接口不夠友好

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

應用場景

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

相關文章
相關標籤/搜索