sessionStorage localStorage cookie的区别
sessionStorage localStorage cookie的區(qū)別
基本概念
cookie:是網(wǎng)景公司的前雇員在1993年發(fā)明。它的主要用于保存登陸信息,比如登陸某個(gè)網(wǎng)站市場(chǎng)可以看到’記住密碼’,這就是通過(guò)在cookie中存入一段辨別用戶(hù)身份的數(shù)據(jù)來(lái)實(shí)現(xiàn)的。
sessionStorage:會(huì)話(huà),是可以將一部分?jǐn)?shù)據(jù)在當(dāng)前會(huì)話(huà)中保存下來(lái),刷新頁(yè)面數(shù)據(jù)依舊存在。但是頁(yè)面關(guān)閉后,sessionStorage中的數(shù)據(jù)就會(huì)被清空。
localStorage:是HTML5標(biāo)準(zhǔn)中新加入的技術(shù),當(dāng)然早在IE6時(shí)代就有一個(gè)userData的東西用于本地存儲(chǔ),而當(dāng)時(shí)考慮到瀏覽器的兼容性,更通用的方案是使用flash。如今localStorage被大多數(shù)瀏覽器所支持。
localStorage
localStorage的生命周期是永久的,除非用戶(hù)在瀏覽器提供的UI上清除localStorage信息,否則這些信息將永久存在, 而且它僅在客戶(hù)端保存,不參與服務(wù)器通信。
存放數(shù)據(jù)大小為一般為 5MB
原生接口可以接受,可以封裝起來(lái)對(duì)object和array有更好的支持
sessionStorage
sessionStorage僅在當(dāng)前會(huì)話(huà)下有效,不參與服務(wù)器通信,
原生接口可以接受,可以封裝起來(lái)對(duì)object和array有更好的支持
(只能保存字符串類(lèi)型,復(fù)雜對(duì)象只能通過(guò)json的形式保存)
(保存數(shù)據(jù)setItem,獲取數(shù)據(jù)getItem,刪除removeItem ,刪除所有clear)
不同瀏覽器無(wú)法共享兩種信息.
存放數(shù)據(jù)大小為一般為 5MB
cookie
cookie(HTTP Cookie)通過(guò)name=value的方式存儲(chǔ)
cookie的存儲(chǔ)數(shù)據(jù)大小只有4kb左右,有個(gè)數(shù)限制,一般不能超過(guò)20個(gè)。
生效時(shí)間默認(rèn)是瀏覽器關(guān)閉失效,但是可以自己設(shè)置
cookie會(huì)參與服務(wù)器端通信,每次都會(huì)攜帶在HTTP頭中,如果保存過(guò)多會(huì)有性能問(wèn)題。
cookie也是不安全的,但是可以設(shè)置cookie的生命周期,使之不會(huì)永遠(yuǎn)有效。
需要自己進(jìn)行封裝,原生的cookie接口不夠友好
cookie的優(yōu)點(diǎn)
具有極高的擴(kuò)展性和可用性.
- 通過(guò)良好的編程,控制保存在 cookie 中的 session 對(duì)象的大小。
- 通過(guò)加密和安全傳輸技術(shù),減少 cookie 被破解的可能性。
- 只有在 cookie 中存放不敏感的數(shù)據(jù),即使被盜取也不會(huì)有很大的損失。
- 控制 cookie 的生命期,使之不會(huì)永遠(yuǎn)有效。這樣的話(huà)偷盜者很可能拿到的就是一個(gè)過(guò)期的 cookie。
cookie的缺點(diǎn). - 長(zhǎng)度和數(shù)量有限制,每一個(gè)域中最多只能保存20條,每個(gè)不能超過(guò)4kb,否則就會(huì)被攔截掉。
- 如果cookie被攔截 那么就可以獲取所有的session信息,加密也沒(méi)用.
- 有些狀態(tài)不可能保存在客戶(hù)端。例如,為了防止重復(fù)提交表單,我們需要在服務(wù)端保存一個(gè)計(jì)數(shù)器。若把計(jì)數(shù)器保存在客戶(hù)端,則起不到什么作用。
localStorage、sessionStorage、Cookie 共同點(diǎn)
都是保存在瀏覽器端,且同源的。
應(yīng)用場(chǎng)景
cookie:判斷用戶(hù)是否登錄過(guò)網(wǎng)站,以便實(shí)現(xiàn)下次自動(dòng)登錄或記住密碼;保存事件信息等
sessionStorage:敏感賬號(hào)一次性登錄;單頁(yè)面用的較多(sessionStorage 可以保證打開(kāi)頁(yè)面時(shí) sessionStorage 的數(shù)據(jù)為空)
localStorage:常用于長(zhǎng)期登錄(判斷用戶(hù)是否已登錄),適合長(zhǎng)期保存在本地的數(shù)據(jù)
總結(jié)
以上是生活随笔為你收集整理的sessionStorage localStorage cookie的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 王者荣耀魔方什么意思
- 下一篇: 懂车帝app怎么看车价真实(说真的还得懂