1. cookie
1_1: 簡述
HTTP Cookie(也叫 Web Cookie 或?yàn)g覽器 Cookie)是服務(wù)器發(fā)送(
由服務(wù)器設(shè)置后返回給瀏覽器端
)到用戶瀏覽器并保存在本地的一小塊數(shù)據(jù)磕昼。瀏覽器會(huì)存儲(chǔ) cookie 并在下次向同一服務(wù)器再發(fā)起請求時(shí)攜帶并發(fā)送到服務(wù)器上。通常舶得,它用于告知服務(wù)端兩個(gè)請求是否來自同一瀏覽器——如保持用戶的登錄狀態(tài)掰烟。Cookie 使基于無狀態(tài)(即服務(wù)器不知道用戶的兩次請求分別做了什么,也不知道兩次請求間是否存在關(guān)聯(lián),http請求協(xié)議就是無狀態(tài)的)的 HTTP 協(xié)議記錄穩(wěn)定的狀態(tài)信息成為了可能沐批。
1_2: 應(yīng)用方面
1_2_1: 如用戶登錄狀態(tài)、購物車蝎亚、游戲分?jǐn)?shù)或其他需要記錄的信息
1_2_2: 如用戶自定義設(shè)置九孩、主題和其他設(shè)置
1_2_3: 如跟蹤分析用戶行為等(例如用戶登錄購物網(wǎng)站進(jìn)行一些頁面操作會(huì)被記錄下來,一些喜好等)
1_3: 缺點(diǎn)
1_3_1: 大小只有4kb,一些大數(shù)據(jù)量情況下并不能滿足數(shù)據(jù)傳輸?shù)男枨?br>
1_3_2: 每次新請求都會(huì)攜帶cookie,造成資源的浪費(fèi)
1_4: 安全限制
1_4_1 Secure 添加該屬性則cookie只能通過https傳輸,而不能通過http傳輸
1_4_2 HttpOnly 使客戶端不能夠通過js代碼讀取與設(shè)置cookie
2.localStorage
2_1 簡述
localStorage 中的鍵值對(duì)總是以字符串的形式存儲(chǔ)发框。 (需要注意躺彬,和 js 對(duì)象相比,鍵值對(duì)總是以字符串的形式存儲(chǔ)意味著數(shù)值類型會(huì)自動(dòng)轉(zhuǎn)化為字符串類型).
2_2 數(shù)據(jù)存儲(chǔ)期限
長期有效,在非手動(dòng)清除或者代碼清楚數(shù)據(jù)的情況下,永久有效梅惯,不同標(biāo)簽頁之間數(shù)據(jù)共享宪拥,可以做到不同標(biāo)簽頁進(jìn)行數(shù)據(jù)共享
3_3 數(shù)據(jù)大小
一般在5M左右
3. sesstionStorage
3_1: 簡述
sessionStorage屬性允許你訪問一個(gè),對(duì)應(yīng)當(dāng)前源的 session對(duì)象铣减。它與 localStorage相似她君,不同之處在于 localStorage里面存儲(chǔ)的數(shù)據(jù)沒有過期時(shí)間設(shè)置,而存儲(chǔ)在 sessionStorage 里面的數(shù)據(jù)在頁面會(huì)話結(jié)束時(shí)會(huì)被清除葫哗。
3_2 數(shù)據(jù)存儲(chǔ)期限
只在當(dāng)前標(biāo)簽頁會(huì)話有效,標(biāo)簽關(guān)閉后對(duì)應(yīng)sessionStorage數(shù)據(jù)會(huì)清除,如果標(biāo)簽頁是復(fù)制打開,會(huì)繼承復(fù)制的標(biāo)簽頁的數(shù)據(jù),不同標(biāo)簽頁之間數(shù)據(jù)不共享
3_3 一般在5M左右