SessionStorage, LocalStorage, Cookie這三者都可以被用來在瀏覽器端存儲數(shù)據(jù),而且都是字符串類型的鍵值對。 區(qū)別在于前兩者屬于WebStorage,創(chuàng)建它們的目的便于客戶端存儲數(shù)據(jù)。 而Cookie早在網(wǎng)景公司的瀏覽器中就開始支持,最初目的是為了保持HTTP的狀態(tài)。
Cookie(也叫Web cookie或者瀏覽器Cookie)是服務(wù)器發(fā)送到用戶瀏覽器并保存在瀏覽器上的一塊數(shù)據(jù), 它會在瀏覽器下一次發(fā)起請求時被攜帶并發(fā)送到服務(wù)器上。比較經(jīng)典的,可以它用來確定兩次請求是否來自于同一個瀏 覽器,從而能夠確認(rèn)和保持用戶的登錄狀態(tài)。Cookie的使用使得基于無狀態(tài)的HTTP協(xié)議上記錄穩(wěn)定的狀態(tài)信息成為了可能。
localStorage 是 HTML5 標(biāo)準(zhǔn)中新加入的技術(shù),它并不是什么劃時代的新東西。 早在 IE 6 時代,就有一 個叫 userData 的東西用于本地存儲,而當(dāng)時考慮到瀏覽器兼容性, 更通用的方案是使用 Flash。而如今,localStorage 被大多數(shù)瀏覽器所支持,更多用他來存儲數(shù)據(jù)。
sessionStorage 與 localStorage 的接口類似, 但保存數(shù)據(jù)的生命周期與 localStorage 不同。 做過后 端開發(fā)的同學(xué)應(yīng)該知道 Session 這個詞的意思, 直譯過來是“會話”。 而 sessionStorage 是一個前端的概念, 它只 是可以將一部分?jǐn)?shù)據(jù)在當(dāng)前會話中保存下來, 刷新頁面數(shù)據(jù)依舊存在。 但當(dāng)頁面關(guān)閉后,sessionStorage 中的數(shù)據(jù)就會被清空