使用 web Storage的目的是克服由cookie带来的一些限制,当数据需要被严格控制在客户端上时,无需持续地将数据发回服务器。
主要目的在于:
(1).提供一种在cookie之外存储会话数据的途径;
(2).提供一种存储大量可以跨会话存在的数据的机制。
1.storage类型
a. storage类型提供最大的存储空间来存储名值对儿(key/value)。
b. key:作为存储数据的标识(唯一,不可重复)
value:存储数据的内容(number/string)
c. 有如下方法:
- setItem(key,value)方法 ——–设置数据(新增数据)
- getItem(key)方法 ——–获取数据(返回key所对应的value值)
- key(index)方法 ——–根据索引值返回对应的key
- removeItem(key)方法 ———根据key删除指定的数据内容
- clear()方法 ———将存储系统的所有数据删除(清空)
- length属性 ———返回当前存储系统的数据个数
d. storage类型只能存储字符串
2.sessionStorage对象
sessionStorage叫做会话存储,替代session,类似于内存。
sessionStorage是Storage的一个实例。
a. 存储特定于某个会话的数据,该数据只保持到浏览器关闭。
b. 存储在sessionStorage中的数据可以跨越页面刷新而存在;
c. sessionStorage对象主要用于仅针对会话的小段数据的存储。
3.globalStorage对象
globalStorage对象的目的是跨越会话存储数据,但有特定的访问限制。
a. 使用globalStorage的时候一定要指定一个域名。
globalStorage的每个属性都是Storage的实例。
b. 对globalStorage空间的访问是通过发起请求的页面的域名、协议和端口来限制的。
- 如果使用HTTPS在xxx.com中存储了数据,那么通过HTTP访问的这个xxx.com就不能访问该数据
- 如果通过80端口访问的页面无法与同一个域、同样协议,但通过8888端口访问的页面共享数据。
4.localStorage对象
a. 与globalStorage不同,不能给localStorage指定任何访问规则;规则事先就制定好了。
b. 要访问同一个localStorage对象,页面必须来自同一个域名(子域名无效),使用同一种协议,在同一个端口上。相当于globalStorage[location.host]。
总结:
sessionStorage与localStorage的区别:
sessionStorage存储系统存储数据的特点:
a. 当浏览器窗口关闭时,数据全部丢失。
b.当再次打开浏览器窗口时,数据不能使用。localStorage存储系统存储数据的特点:
a. 当浏览器窗口关闭时,数据依旧存储。
b.当再次打开浏览器窗口时,数据继续使用。
c.数据只能由用户删除。