Web Storag是HTML5引入的一個非常重要的功能,可以將數據存儲在本地,如保存用戶的偏好設置、復選框的選中狀態、文本框默認填寫的值等。用戶在瀏覽器中刷新網頁時,網頁通過Web Storage就可以知道用戶之前所做的一些修改,而不需要將用戶修改的內容存儲在服務器端。
Web Storage類似于Cookie,但相比Cookie可以減少網絡流量,因為Web Storage存儲的數據不會發送給服務器,而Cookie存儲的數據會由瀏覽器通過HTTP請求自動發送給服務器。將數據存儲在WebStorage可以減少數據在瀏覽器和服務器間不必要地來回傳遞。
Web Storage中包含兩個關鍵的對象,分別是localStorage對象和sessionStorage對象,它們都是Web Storage的實例,所以都能使用Web Storage接口提供的方法和屬性。localStorage對象用于本地存儲,sessionStorage對象用于區域存儲。
Web Storage具有以下5個特點:
(1)數據的設置和讀取比較方便。
(2)容量較大,可以存儲大約5MB數據。
(3)只能存儲字符串,如果要存儲JSON對象,則可以使用JSON.stringify()和JSON.parseO方法分別進行序列化和反序列化。
(4)本地數據可以即時獲得。借助瀏覽器的緩存,整個頁面和數據都可以保存在本地,從本地讀數據比通過網絡從服務器獲得數據快得多,可以立即顯示網頁中緩存的內容。
(5)數據可以臨時存儲。很多時候數據只需要在用戶瀏覽單個頁面期間使用,關閉頁面后數據就可以丟棄,這種情況使用sessionStorage非常方便。
目前,市面上主流的Web瀏覽器都在一定程度上支持HTML5的Web Storage,且iOS和Android兩大平臺對Web Storage都具有很好的支持。目前市面上的主流手機和平板計算機都依賴這兩個平臺,所以在實際開發中,基本不需要擔心移動設備的Web瀏覽器對Web Storage的支持情況。