一、本地存儲由來的背景
由于HTML4時代Cookie的大小、格式、存儲數(shù)據(jù)格式等限制,網(wǎng)站應(yīng)用如果想在瀏覽器端存儲用戶的部分信息,那么只能借助于Cookie。但是Cookie的這些限制,也就導(dǎo)致了Cookie只能存儲一些ID之類的標(biāo)識符等簡單的數(shù)據(jù)。
下面是Cookie的限制:
大多數(shù)瀏覽器支持最大為 4096 字節(jié)的 Cookie。
瀏覽器還限制站點可以在用戶計算機上存儲的 Cookie 的數(shù)量。大多數(shù)瀏覽器只允許每個站點存儲 20 個Cookie;如果試圖存儲更多 Cookie,則最舊的 Cookie 便會被丟棄。
有些瀏覽器還會對它們將接受的來自所有站點的 Cookie 總數(shù)作出絕對限制,通常為 300 個。
Cookie默認(rèn)情況都會隨著Http請求發(fā)送到后臺服務(wù)器,但并不是所有請求都需要Cookie的,比如:js、css、圖片等請求則不需要Cookie。
為了破解Cookie的一系列限制,HTML5通過JS的新的API就能直接存儲大量的數(shù)據(jù)到客戶端瀏覽器,而且支持復(fù)雜的本地數(shù)據(jù)庫,讓JS更有效率。 HTML5支持兩種的WebStorage:
永久性的本地存儲(localStorage)
會話級別的本地存儲(sessionStorage)
二、本地存儲的分類
H5本地存儲有兩個API,一個是Web Storage,還有一個是Web SQL。不管是哪一個,都是基于JavaScript語言來使用,接下來我就教你怎么使用Web Storage
三、Web Storage
HTML5 定義了本地存儲規(guī)范 Web Storage , 提供了兩種存儲類型 API: sessionStorage 和 localStorage,二者的差異主要是數(shù)據(jù)的保存時長及數(shù)據(jù)的共享方式。
1.localStorage 一直存儲在本地,數(shù)據(jù)存儲是永久的,除非用戶或程序?qū)ζ溥M(jìn)行刪除操作;localStorage 對象存儲的數(shù)據(jù)沒有時間限制。第二天、第二周或下一年之后,數(shù)據(jù)依然可用。&