一、cookie
cookie是存儲(chǔ)在瀏覽器上的一小段數(shù)據(jù),用來記錄某些當(dāng)頁面關(guān)閉或者刷新后仍然需要記錄的信息。
- Cookie 是瀏覽器訪問服務(wù)器后,服務(wù)器傳給瀏覽器的一段數(shù)據(jù)
- 瀏覽器需要保存這段數(shù)據(jù),不得輕易刪除。
- 此后每次瀏覽器訪問該服務(wù)器,都必須帶上這段數(shù)據(jù)。
為什么需要Cookie?
因?yàn)镠TTP協(xié)議是無狀態(tài)的,對(duì)于一個(gè)瀏覽器發(fā)出的多次請(qǐng)求,WEB服務(wù)器無法區(qū)分 是不是來源于同一個(gè)瀏覽器。所以,需要額外的數(shù)據(jù)用于維護(hù)會(huì)話。 Cookie 正是這樣的一段隨HTTP請(qǐng)求一起被傳遞的額外數(shù)據(jù)。
Cookie只是一段文本,所以它只能保存字符串。
cookie 的作用
- 第一個(gè)作用是識(shí)別用戶身份。
- 第二個(gè)作用是記錄歷史。
二、session
當(dāng)一個(gè)用戶打開淘寶登錄后,刷新瀏覽器仍然展示登錄狀態(tài)。服務(wù)器如何分辨這次發(fā)起請(qǐng)求的用戶是剛才登錄過的用戶呢?這里就使用了session保存狀態(tài)。用戶在輸入用戶名密碼提交給服務(wù)端,服務(wù)端驗(yàn)證通過后會(huì)創(chuàng)建一個(gè)session用于記錄用戶的相關(guān)信息,這個(gè) session 可保存在服務(wù)器內(nèi)存中,也可保存在數(shù)據(jù)庫中。
三、localStorage
- 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ù)。
localstorage存儲(chǔ)對(duì)象分為兩種:
- sessionStrage: session即會(huì)話的意思,在這里的session是指用戶瀏覽某個(gè)網(wǎng)站時(shí),從進(jìn)入網(wǎng)站到關(guān)閉網(wǎng)站這個(gè)時(shí)間段,session對(duì)象的有效期就只有這么長。
- localStorage: 將數(shù)據(jù)保存在客戶端硬件設(shè)備上,不管它是什么,意思就是下次打開計(jì)算機(jī)時(shí)候數(shù)據(jù)還在。
兩者區(qū)別就是一個(gè)作為臨時(shí)保存,一個(gè)長期保存。