WEB Storage
来源:互联网 发布:宏晶单片机官网 编辑:程序博客网 时间:2024/04/25 15:51
目前标准的有sessionStorage和localStorage。
sessionStorage
在浏览器打开期间,页面会话是持续存在的,哪怕页面重新加载(reload)或页面还原(restore)。只要是同一个站点的页面,不管打开多少个窗口,它们之间都共享同一个sessionStorage。
之所以有sessionStorage,是因为cookie在session数据存储方面做的不到位,因为当两个交易在相同页面两个不同浏览器同时进行时,很容易导致其中一个被忽略或覆盖,而且没有任何通知,而其实两个交易可能都成功了,而用户只看到了一个。而sessionStorage在每个数据改变时会派发一个storage事件出来,这个事件包括原来的值和新的值,监听该事件可以避免上面类似的问题发生。
这个对象适合保存临时数据,因为如果浏览器一旦正常关闭这些数据也就被清除了。
获取和存储数据也是非常简单,直接操作sessionStorage即可:
//Save data to a the current session's store
sessionStorage.setItem("username","John");
// Access some storeddata
alert( "username= " + sessionStorage.getItem("username"));
// Remove data from the current session's store
sessionStorage.removeItem("username");
// Removeall data from session'sstore
sessionStorage.clear();
localStorage
这个对象和sessionStorage的规则是一样的,只是它存储的数据是持久性的。同一个站点的页面共用同一个localStorage,不同站点使用不同的localStorage。
在秘密浏览模式下,会有一个临时数据库用来存储local存储数据,当秘密浏览模式关闭,这些数据就会被清空。
localStorage与cookie的区别在于,存储在localStorage中的数据不需要每次和请求一起传输。
如何缓解用户信息被追踪的问题
阻止第三方存储
比如,防止iframe中那些不同域的页面不能访问localStorage的API。
自动使数据过期
用户代理可以让用户自己设置多久那些数据应该被清空。
把持久化数据当成cookie
当用户想清空cookie时,存储在localstorage中的数据并没有被删除。用户代理应该提供一种方式,即它和cookie可以同时被清空。
建立黑白名单
白名单中的可以无限访问localstorage,而黑名单中的站点不能访问localestorage。
- Web Storage
- WEB Storage
- Web Storage
- Web Storage
- Web Storage
- Web Storage
- Web Storage
- Web Storage
- Web Storage
- web storage
- Web Storage
- web storage
- Web Storage
- Web Storage
- Web Storage
- web storage
- Web Storage
- Web Storage
- 【转】房租分配问题(非常值得一看)
- 优化性能,保证程序顺畅运行的方案
- FW150U构建无线局域网【模拟AP功能设置指南】
- 关于ThreadPoolExecutor使用介绍
- Get Paid for Saving Energy with Demand Response
- WEB Storage
- setTimeout和setInterval原理
- Demand Response Pays Data Centers To Be Flexible
- Android应用的自动升级、更新模块的实现
- leetcode 82: Multiply String
- 匹配空格和数字的perl小程序
- Memcached在windows的应用
- C++插入算法及二分插入算法
- struts登录验证1