cookie:是網景公司的前僱員在1993年發明。它的主要用於保存登錄信息,好比登錄某個網站市場能夠看到'記住密碼’,這就是經過在cookie中存入一段辨別用戶身份的數據來實現的。瀏覽器
sessionStorage:會話,是能夠將一部分數據在當前會話中保存下來,刷新頁面數據依舊存在。可是頁面關閉後,sessionStorage中的數據就會被清空。服務器
localStorage:是HTML5標準中新加入的技術,固然早在IE6時代就有一個userData的東西用於本地存儲,而當時考慮到瀏覽器的兼容性,更通用的方案是使用flash。現在localStorage被大多數瀏覽器所支持。cookie
1)存儲大小session
cookie:通常不超過4K(由於每次http請求都會攜帶cookie、因此cookie只適合保存很小的數據,如會話標識)性能
sessionStorage:5M或者更大網站
localStorage:5M或者更大接口
2)數據有效期事件
cookie:通常由服務器生成,能夠設置失效時間;若沒有設置時間,關閉瀏覽器cookie失效,若設置了時間,cookie就會存放在硬盤裏,過時才失效作用域
sessionStorage:僅在當前瀏覽器窗口關閉以前有效,關閉頁面或者瀏覽器會被清除flash
localStorage:永久有效,窗口或者瀏覽器關閉也會一直保存,除非手動永久清除,所以用做持久數據
3)做用域
cookie:在全部同源窗口中都是共享的
sessionStorage:在同一個瀏覽器窗口是共享的(不一樣瀏覽器、同一個頁面也是不共享的)
localStorage:在全部同源窗口中都是共享的
4)通訊
ccokie:十種攜帶在同源的http請求中,即便不須要,故cookie在瀏覽器和服務器之間來回傳遞;若是使用cookie保存過多數據會形成性能問題
sessionStorage:僅在客戶端(即瀏覽器)中保存,不參與和服務器的通訊;不會自動把數據發送給服務器,僅在本地保存
localStorage:僅在客戶端(即瀏覽器)中保存,不參與和服務器的通訊;不會自動把數據發送給服務器,僅在本地保存
5)易用性
cookie:須要本身進行封裝,原生的cookie接口不夠友好
sessionStorage:原生接口能夠接受,能夠封裝來對Object和Array有更好的支持
localStorage:原生接口能夠接受,能夠封裝來對Object和Array有更好的支持
cookie:判斷用戶是否登陸過網站,以便實現下次自動登陸或記住密碼;保存事件信息等
sessionStorage:敏感帳號一次性登陸;單頁面用的較多(sessionStorage 能夠保證打開頁面時 sessionStorage 的數據爲空)
localStorage:經常使用於長期登陸(判斷用戶是否已登陸),適合長期保存在本地的數據