更新時間:2022-08-08 來源:黑馬程序員 瀏覽量:
隨著互聯(lián)網(wǎng)的快速發(fā)展,基于網(wǎng)頁的應用越來越普遍,同時也變得越來越復雜。為了滿足各種各樣的需求,會經(jīng)常在本地設(shè)備上存儲大量的數(shù)據(jù)。例如,記錄歷史活動信息。傳統(tǒng)的方式是使用document.cookie來進行存儲,但是由于其存儲空間有限(大約4KB),并且需要復雜的操作來解析,給開發(fā)者帶來了諸多不便。為此,HTML5規(guī)范提出了網(wǎng)絡(luò)存儲相關(guān)的解決方案,即Web Storage(Web存儲)和本地數(shù)據(jù)庫Web SQL Database。
Web Storage API中包含了兩個關(guān)鍵的對象,分別是window.sessionStorage對象和window.localStorage對象。前者用于區(qū)域存儲,后者用于本地存儲。
Web Storage具有以下特點。
(1)數(shù)據(jù)的設(shè)置和讀取比較方便。
(2)容量較大,sessionStorage大約5MB,localStorage大約為20MB。
(3)只能存儲字符串,若想要存儲JSON對象,則可以使用window.JSON.stringify()或者parse()進行序列化和反序列化編碼。
Web Storage除了在移動平臺上具有良好的兼容性外,它還具有以下優(yōu)勢。
(1)減少網(wǎng)絡(luò)流量的使用。
使用Web Storage,一旦數(shù)據(jù)保存在本地后,就可以避免再次向服務器請求數(shù)據(jù)。因此減少了不必要的數(shù)據(jù)請求,同時也減少了數(shù)據(jù)在瀏覽器和服務器間不必要的來回傳遞。
(2)能夠快速顯示數(shù)據(jù)。
使用Web Storage性能好,因為從本地讀數(shù)據(jù)比通過網(wǎng)絡(luò)從服務器獲得數(shù)據(jù)速度要快很多,可以即時獲得本地數(shù)據(jù)。另外,網(wǎng)頁本身也有緩存,因此如果整個頁面和數(shù)據(jù)都在本地,則可以立即顯示。
(3)可以臨時存儲數(shù)據(jù)。
在很多時候,數(shù)據(jù)只需要在用戶瀏覽一組頁面期間使用,而關(guān)閉窗口后數(shù)據(jù)就可以丟棄。這種情況使用sessionStorage非常方便。