全國(guó)咨詢(xún)/投訴熱線(xiàn):400-618-4000

首頁(yè)常見(jiàn)問(wèn)題正文

移動(dòng)Web開(kāi)發(fā)基礎(chǔ):Web存儲(chǔ)

更新時(shí)間:2022-08-08 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  隨著互聯(lián)網(wǎng)的快速發(fā)展,基于網(wǎng)頁(yè)的應(yīng)用越來(lái)越普遍,同時(shí)也變得越來(lái)越復(fù)雜。為了滿(mǎn)足各種各樣的需求,會(huì)經(jīng)常在本地設(shè)備上存儲(chǔ)大量的數(shù)據(jù)。例如,記錄歷史活動(dòng)信息。傳統(tǒng)的方式是使用document.cookie來(lái)進(jìn)行存儲(chǔ),但是由于其存儲(chǔ)空間有限(大約4KB),并且需要復(fù)雜的操作來(lái)解析,給開(kāi)發(fā)者帶來(lái)了諸多不便。為此,HTML5規(guī)范提出了網(wǎng)絡(luò)存儲(chǔ)相關(guān)的解決方案,即Web Storage(Web存儲(chǔ))和本地?cái)?shù)據(jù)庫(kù)Web SQL Database。

  Web Storage API中包含了兩個(gè)關(guān)鍵的對(duì)象,分別是window.sessionStorage對(duì)象和window.localStorage對(duì)象。前者用于區(qū)域存儲(chǔ),后者用于本地存儲(chǔ)。

  Web Storage具有以下特點(diǎn)。

  (1)數(shù)據(jù)的設(shè)置和讀取比較方便。

  (2)容量較大,sessionStorage大約5MB,localStorage大約為20MB。

  (3)只能存儲(chǔ)字符串,若想要存儲(chǔ)JSON對(duì)象,則可以使用window.JSON.stringify()或者parse()進(jìn)行序列化和反序列化編碼。

  Web Storage除了在移動(dòng)平臺(tái)上具有良好的兼容性外,它還具有以下優(yōu)勢(shì)。

  (1)減少網(wǎng)絡(luò)流量的使用。

  使用Web Storage,一旦數(shù)據(jù)保存在本地后,就可以避免再次向服務(wù)器請(qǐng)求數(shù)據(jù)。因此減少了不必要的數(shù)據(jù)請(qǐng)求,同時(shí)也減少了數(shù)據(jù)在瀏覽器和服務(wù)器間不必要的來(lái)回傳遞。

  (2)能夠快速顯示數(shù)據(jù)。

  使用Web Storage性能好,因?yàn)閺谋镜刈x數(shù)據(jù)比通過(guò)網(wǎng)絡(luò)從服務(wù)器獲得數(shù)據(jù)速度要快很多,可以即時(shí)獲得本地?cái)?shù)據(jù)。另外,網(wǎng)頁(yè)本身也有緩存,因此如果整個(gè)頁(yè)面和數(shù)據(jù)都在本地,則可以立即顯示。

  (3)可以臨時(shí)存儲(chǔ)數(shù)據(jù)。

  在很多時(shí)候,數(shù)據(jù)只需要在用戶(hù)瀏覽一組頁(yè)面期間使用,而關(guān)閉窗口后數(shù)據(jù)就可以丟棄。這種情況使用sessionStorage非常方便。

分享到:
在線(xiàn)咨詢(xún) 我要報(bào)名
和我們?cè)诰€(xiàn)交談!