webstorage是本地存儲,存儲在客戶端,包括localStorage和sessionStorage。
Html5中新增的,window.sessionStorage, 方法有:
setItem, getItem, remveItem clear
sessionStorage中的一次會話跟 session會話有區別,它的一次會話是指瀏覽器的一個標籤頁或一個窗口,關閉瀏覽器或者新開一個標籤頁,會話就會結束,結束後數據也會被清除,而且它屬於本地存儲,不會像cookie一樣可以發送到服務器。
特點:
1. 同源策略: 一個窗口中訪問的頁面必須是同源的,即同一個地址,同一個端口
如果一個標籤頁包含多個iframe標籤且他們屬於同源頁面,那麼他們之間是可以共享sessionStorage的
2. 同一個標籤頁限制
3. 存儲的value值都是字符串類型的,即使不是,存儲後也會轉成字符串
sessionStorage也可存儲Json對象:存儲時,通過JSON.stringify()將對象轉換爲文本格式;讀取時,通過JSON.parse()將文本轉換回對象。
4. 存儲大小5M以下,不同瀏覽器不同大小
可訪問 http://dev-test.nemikor.com/web-storage/support-test/ 測試瀏覽器的存儲上限。
localStorage也是HTTML5新增的,方法跟sessionStorage相同,可以將用戶的數據存儲到硬盤上,可以永久存儲,而且沒有過期的時間限制。
它也遵循同源策略,同一個地址同一個端口號的頁面都可以使用,也是 5M以下,但是不限瀏覽器標籤頁和窗口的影響,換了瀏覽器就不能訪問了,這點跟cookie類似。