1.Cookie
Cookie 是服務(wù)器保存在瀏覽器的一小段文本信息拘哨,一般大小不能超過4KB。瀏覽器每次向服務(wù)器發(fā)出請(qǐng)求信峻,就會(huì)自動(dòng)附上這段信息倦青。
瀏覽器需要保存這段數(shù)據(jù),不得輕易刪除
此后每次瀏覽器訪問該服務(wù)器盹舞,都必須帶上這段數(shù)據(jù)
Cookie 一般有兩個(gè)作用产镐,第一個(gè)作用是識(shí)別用戶身份,第二個(gè)作用是記錄歷史踢步。
2.session
用戶在輸入用戶名密碼提交給服務(wù)端癣亚,服務(wù)端驗(yàn)證通過后會(huì)創(chuàng)建一個(gè)session用于記錄用戶的相關(guān)信息,這個(gè) session 可保存在服務(wù)器內(nèi)存中获印,也可保存在數(shù)據(jù)庫(kù)中述雾。當(dāng)頁(yè)面被關(guān)閉時(shí),存儲(chǔ)在 sessionStorage 的數(shù)據(jù)會(huì)被清除 兼丰。
創(chuàng)建session后玻孟,會(huì)把關(guān)聯(lián)的session_id 通過setCookie 添加到http響應(yīng)頭部中。
瀏覽器在加載頁(yè)面時(shí)發(fā)現(xiàn)響應(yīng)頭部有 set-cookie字段鳍征,就把這個(gè)cookie 種到瀏覽器指定域名下黍翎。
當(dāng)下次刷新頁(yè)面時(shí),發(fā)送的請(qǐng)求會(huì)帶上這條cookie蟆技, 服務(wù)端在接收到后根據(jù)這個(gè)session_id來識(shí)別用戶玩敏。
cookie 是存儲(chǔ)在瀏覽器里的一小段「數(shù)據(jù)」,而session是一種讓服務(wù)器能識(shí)別某個(gè)用戶的「機(jī)制」质礼,session 在實(shí)現(xiàn)的過程中需要使用cookie旺聚。 二者不是同一維度的東西。
3.localStorage
只讀的localStorage 屬性允許你訪問一個(gè)Document 源(origin)的對(duì)象 Storage眶蕉;存儲(chǔ)的數(shù)據(jù)將保存在瀏覽器會(huì)話中砰粹。存儲(chǔ)在 localStorage 的數(shù)據(jù)可以長(zhǎng)期保留;localStorage 中的鍵值對(duì)總是以字符串的形式存儲(chǔ)。 (需要注意, 和js對(duì)象相比, 鍵值對(duì)總是以字符串的形式存儲(chǔ)意味著數(shù)值類型會(huì)自動(dòng)轉(zhuǎn)化為字符串類型(JSON格式將對(duì)象轉(zhuǎn)為字符串碱璃,用的時(shí)候解析成對(duì)象))弄痹。
localStorage HTML5本地存儲(chǔ)web storage特性的API之一,用于將大量數(shù)據(jù)(最大5M)保存在瀏覽器中嵌器,保存后數(shù)據(jù)永遠(yuǎn)存在不會(huì)失效過期肛真,除非用 js手動(dòng)清除。
不參與網(wǎng)絡(luò)傳輸
一般用于性能優(yōu)化爽航,可以保存圖片蚓让、js、css讥珍、html 模板历极、大量數(shù)據(jù)
參考https://developer.mozilla.org/zh-CN/docs/Web/API/Window/localStorage
https://zhuanlan.zhihu.com/p/22396872?refer=study-fe