localStorage、sessionStorage、cookie、session

在HTML5中,新加入了一個localStorage的特性,這個特性主要是用來作爲本地存儲來使用的,解決了cookie存儲空間不足的問題(cookie中每條cookie的存儲空間爲4K),localStorage中一般瀏覽器支持的是5M大小,這個在不同的瀏覽器中localStorage會有所不同。

localStorage的優勢:

    1、localStorage拓展了cookie的4K限制

    2、localStorage會將第一次請求的數據直接存儲到本地,這個相當於一個5M大小的針對前端頁面的數據庫,相比於cookie可 以節約帶寬,但是這個卻是隻能在高版本的瀏覽器中得到支持。

localStorage的侷限:

    1、需要得到高版本瀏覽器支持,如IE8以上

    2、目前所有的瀏覽器中都會把localStorage(對象)的值類型限定爲string類型,這個在對我們日常比較常見的JSON對象類型需要一些轉換

    3、localStorage在瀏覽器的隱私模式下是不可讀取的

    4、localStorage本質上是對字符串的讀取,如果存儲內容多的話會消耗內存空間,會導致頁面變卡

    5、localStorage不能被爬蟲抓取到

注意:localStorage與sessionStorage的唯一一點區別就是localStorage屬於永久性存儲,而sessionStorage屬於當會話結束的時候,sessionStorage中的鍵值對會被清空,都是本地存儲

操作存儲的方法:

getItem、setItem、removeItem、clear、keys

 

cookie

JavaScript可以通過document.cookie屬性來創建,讀取,刪除cookie,並以字符串的方式返回所有的cookies,類型格式:cookie1=value1;cookie2=value2;cookie3=value3

 

session

在服務器端生成session後,session會被存儲在服務器內存中,

每一塊session都被以sessionId唯一標識,sessionId是一串由32位數字和字母組成的code。

session塊之間無法互相訪問。

在服務器返回給客戶端時,sessionId會隨response返回到瀏覽器的cookie中。

客戶端下次向服務器發送請求時,會將sessionid作爲cookie的一部分附帶在request中。

服務器根據request中的sessionid找打對應的session,執行後續業務操作。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章