cookie已艰,localStorage,sessionStorage 的區(qū)別

一蚕苇、概念介紹

cookie是在HTML4中使用的給客戶端保存數(shù)據(jù)的哩掺,也可以和session配合實(shí)現(xiàn)跟蹤瀏覽器用戶身份;而webstorage(包括:localStorage和sessionStorage)是在HTML5提出來(lái)的涩笤,純粹為了保存數(shù)據(jù)嚼吞,不會(huì)與服務(wù)器端通信。

WebStorage兩個(gè)主要目標(biāo):

  1. 提供一種在cookie之外存儲(chǔ)會(huì)話數(shù)據(jù)的路徑
  2. 提供一種存儲(chǔ)大量可以跨會(huì)話存在的數(shù)據(jù)的機(jī)制

二蹬碧、cookie 的特點(diǎn)

  1. 只能使用文本文件
  2. 文件有大小限制4K左右
  3. 不可跨域
  4. 時(shí)效限制(默認(rèn)會(huì)話級(jí)舱禽,可指定)
  5. 每次都會(huì)隨著請(qǐng)求,發(fā)往服務(wù)器
  6. 完全兼容

三恩沽、localStorage 的特點(diǎn)

  1. 只能使用文本文件
  2. 文件有大小5M左右
  3. 不可跨域
  4. localStorage沒(méi)有過(guò)期時(shí)間誊稚;sessionStorage只能會(huì)話級(jí)
  5. 不會(huì)發(fā)往服務(wù)器
  6. 低版本瀏覽器不兼容

不安全、不能跨域罗心、不能跨瀏覽器,寫入的都是字符

四里伯、相同點(diǎn)

cookie,localStorage渤闷,sessionStorage都是在客戶端保存數(shù)據(jù)的俏脊,存儲(chǔ)數(shù)據(jù)的類型都是字符串,都不安全肤晓、不能跨域、不能跨瀏覽器认然。

五补憾、不同點(diǎn):

1. 有效期:
  • cookie如果不設(shè)置有效期,那么就是臨時(shí)存儲(chǔ)(存儲(chǔ)在內(nèi)存中)卷员,是會(huì)話級(jí)別的盈匾,會(huì)話結(jié)束后,cookie也就失效了毕骡,如果設(shè)置了有效期削饵,那么cookie存儲(chǔ)在硬盤里岩瘦,有效期到了,就自動(dòng)消失窿撬。
  • localStorage的生命周期是永久的启昧,關(guān)閉頁(yè)面或?yàn)g覽器之后localStorage中的數(shù)據(jù)也不會(huì)消失。localStorage除非主動(dòng)刪除數(shù)據(jù)劈伴,否則數(shù)據(jù)永遠(yuǎn)不會(huì)消失密末。
  • sessionStorage僅在當(dāng)前會(huì)話下有效。
    • sessionStorage引入了一個(gè)“瀏覽器窗口”的概念跛璧,sessionStorage是在同源的窗口中始終存在的數(shù)據(jù)严里。只要這個(gè)瀏覽器窗口沒(méi)有關(guān)閉,即使刷新頁(yè)面或者進(jìn)入同源另一個(gè)頁(yè)面追城,數(shù)據(jù)依然存在刹碾。但是sessionStorage在關(guān)閉了瀏覽器窗口后就會(huì)被銷毀。同時(shí)獨(dú)立的打開同一個(gè)窗口同一個(gè)頁(yè)面座柱,sessionStorage也是不一樣的迷帜。
    • 可以簡(jiǎn)單的理解為:sessionStorage就是沒(méi)有設(shè)置有效期的cookie。
    • 如果說(shuō)把cookie的有效期設(shè)置為永久(當(dāng)然沒(méi)有永久的事件)辆布,那么就是localStorage瞬矩。
2. 網(wǎng)絡(luò)流量

cookie的數(shù)據(jù)每次都會(huì)發(fā)給服務(wù)器端,而localstorage和sessionStorage不會(huì)與服務(wù)器端通信锋玲,純粹為了保存數(shù)據(jù)景用,所以,storage更加節(jié)約網(wǎng)絡(luò)流量惭蹂。

3. 大小限制

cookie大小限制在4KB伞插,非常小盾碗;localstorage和sessionStorage在5M

4. 安全性

WebStorage不會(huì)隨著HTTP header發(fā)送到服務(wù)器端媚污,所以安全性相對(duì)于cookie來(lái)說(shuō)比較高一些,不會(huì)擔(dān)心截獲廷雅。

5. 便攜性

cookie只提供了一個(gè)屬性可供操作耗美;而storage提供了一系列的API,操作方便快捷

六航缀、語(yǔ)法

1. cookie
// 設(shè)置
let d = new Date();
d.setDate(d.getDate()+3);
document.cookie = `${key}=${value};expires=$u38nhjz;path=/;domain=localhost`;

// 獲取商架,只能獲取所有,需要配合字符串處理芥玉,才能拿到指定cookie
console.log(document.cookie)

// 刪除蛇摸,將有效期expires設(shè)置為過(guò)去的日期對(duì)象
let d = new Date();
d.setDate(d.getDate()-1);
document.cookie = `${key}=${value};expires=$hjpkvnb;path=/;domain=localhost`;
2. storage

localstorage和sessionStorage的操作API一致,此處以localstorage舉例

localstorage.setItem(key, value);  // 保存數(shù)據(jù)灿巧,以鍵值對(duì)的方式儲(chǔ)存信息赶袄。
localstorage.getItem(key);         // 獲取數(shù)據(jù)揽涮,將鍵值傳入,即可獲取到對(duì)應(yīng)的value值饿肺。
localstorage.removeItem(key);      // 刪除單個(gè)數(shù)據(jù)蒋困,根據(jù)鍵值移除對(duì)應(yīng)的信息。
localstorage.clear();              // 刪除所有的數(shù)據(jù)唬格,不推薦使用
localstorage.key;                  // 獲取指定key的value

以上家破,如有紕漏或不同觀點(diǎn),歡迎留言討論...

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末购岗,一起剝皮案震驚了整個(gè)濱河市汰聋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌喊积,老刑警劉巖烹困,帶你破解...
    沈念sama閱讀 211,423評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異乾吻,居然都是意外死亡髓梅,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,147評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門绎签,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)枯饿,“玉大人,你說(shuō)我怎么就攤上這事诡必∩莘剑” “怎么了?”我有些...
    開封第一講書人閱讀 157,019評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵爸舒,是天一觀的道長(zhǎng)蟋字。 經(jīng)常有香客問(wèn)我,道長(zhǎng)扭勉,這世上最難降的妖魔是什么鹊奖? 我笑而不...
    開封第一講書人閱讀 56,443評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮涂炎,結(jié)果婚禮上忠聚,老公的妹妹穿的比我還像新娘。我一直安慰自己唱捣,他們只是感情好两蟀,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,535評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著爷光,像睡著了一般。 火紅的嫁衣襯著肌膚如雪澎粟。 梳的紋絲不亂的頭發(fā)上蛀序,一...
    開封第一講書人閱讀 49,798評(píng)論 1 290
  • 那天欢瞪,我揣著相機(jī)與錄音,去河邊找鬼徐裸。 笑死遣鼓,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的重贺。 我是一名探鬼主播骑祟,決...
    沈念sama閱讀 38,941評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼气笙!你這毒婦竟也來(lái)了次企?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,704評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤潜圃,失蹤者是張志新(化名)和其女友劉穎缸棵,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谭期,經(jīng)...
    沈念sama閱讀 44,152評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡堵第,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,494評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了隧出。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片踏志。...
    茶點(diǎn)故事閱讀 38,629評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖胀瞪,靈堂內(nèi)的尸體忽然破棺而出针余,到底是詐尸還是另有隱情,我是刑警寧澤赏廓,帶...
    沈念sama閱讀 34,295評(píng)論 4 329
  • 正文 年R本政府宣布涵紊,位于F島的核電站,受9級(jí)特大地震影響幔摸,放射性物質(zhì)發(fā)生泄漏摸柄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,901評(píng)論 3 313
  • 文/蒙蒙 一既忆、第九天 我趴在偏房一處隱蔽的房頂上張望驱负。 院中可真熱鬧,春花似錦患雇、人聲如沸跃脊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)酪术。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間绘雁,已是汗流浹背橡疼。 一陣腳步聲響...
    開封第一講書人閱讀 31,978評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留庐舟,地道東北人欣除。 一個(gè)月前我還...
    沈念sama閱讀 46,333評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像挪略,于是被迫代替她去往敵國(guó)和親历帚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,499評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容