html5 之本地数据存储
2014-07-04 16:21
274 查看
HTML5 提供了两种在客户端存储数据的新方法:
localStorage - 没有时间限制的数据存储
sessionStorage - 针对一个 session 的数据存储
2. 安全性问题:由于在HTTP请求中的cookie是明文传递的(HTTPS不是),带来的安全性问题还是很大的。
3. 网络负担:我们知道cookie会被附加在每个HTTP请求中,在HttpRequest 和HttpResponse的header中都是要被传输的,所以无形中增加了一些不必要的流量损失。
length:唯一的属性,只读,用来获取storage内的键值对数量。
key:根据index获取storage的键名
getItem:根据key获取storage内的对应value
setItem:为storage内添加键值对
removeItem:根据键名,删除键值对
clear:清空storage对象
webStroage的使用实例:
2.虽然localStorage存储在本地,但不同的浏览器存储存储数据是独立的,所以在Chrome上存储的localStorage在FireFox上是获取不到的。
3. localStorage和sessionStorage只能存储字符串类型,对于复杂的对象可以使用ECMAScript提供的JSON对象的stringify和parse来处理,低版本IE可以使用json2.js
当然这种存储模式是针对数据量比较小,如果是数据量很多的话,就要用另外一种数据库存储模式了IndexDB数据存储
基础篇:/article/4780230.html
进阶篇:/article/4780231.html
localStorage - 没有时间限制的数据存储
sessionStorage - 针对一个 session 的数据存储
cookie与webStorage的对比:
cookie的缺陷是非常明显的
1. 数据大小:作为存储容器,cookie的大小限制在4KB左右这是非常坑爹的,尤其对于现在复杂的业务逻辑需求,4KB的容量除了存储一些配置字段还简单单值信息,对于绝大部分开发者来说真的不知指望什么了。2. 安全性问题:由于在HTTP请求中的cookie是明文传递的(HTTPS不是),带来的安全性问题还是很大的。
3. 网络负担:我们知道cookie会被附加在每个HTTP请求中,在HttpRequest 和HttpResponse的header中都是要被传输的,所以无形中增加了一些不必要的流量损失。
webStroage:
WebStorage提供两种类型的API:localStorage和sessionStorage,两者的区别看名字就有大概了解,localStorage在本地永久性存储数据,除非显式将其删除或清空,sessionStorage存储的数据只在会话期间有效,关闭浏览器则自动删除。两个对象都有共同的APIlength:唯一的属性,只读,用来获取storage内的键值对数量。
key:根据index获取storage的键名
getItem:根据key获取storage内的对应value
setItem:为storage内添加键值对
removeItem:根据键名,删除键值对
clear:清空storage对象
webStroage的使用实例:
var ls=localStorage; console.log(ls.length);//0 ls.setItem('name','Byron'); ls.setItem('age','24'); console.log(ls.length);//2 //遍历localStorage for(var i=0;i<ls.length;i++){ /* age : 24 name : Byron */ var key=ls.key(i); console.log(key+' : '+ls.getItem(key)); } ls.removeItem('age'); for(var i=0;i<ls.length;i++){ /* name : Byron */ var key=ls.key(i); console.log(key+' : '+ls.getItem(key)); } ls.clear();//0 console.log(ls.length);
注意:
1. 由于localStorage和sessionStorage都是对象,所以也可以通过”.key”或”[key]”的方式获取、修改键值对,但不推荐这么做localStorage.userName='Frank'; console.log(localStorage['userName']);
2.虽然localStorage存储在本地,但不同的浏览器存储存储数据是独立的,所以在Chrome上存储的localStorage在FireFox上是获取不到的。
3. localStorage和sessionStorage只能存储字符串类型,对于复杂的对象可以使用ECMAScript提供的JSON对象的stringify和parse来处理,低版本IE可以使用json2.js
当然这种存储模式是针对数据量比较小,如果是数据量很多的话,就要用另外一种数据库存储模式了IndexDB数据存储
基础篇:/article/4780230.html
进阶篇:/article/4780231.html
相关文章推荐
- HTML5 LocalStorage 本地存储JSON数据
- HTML5 LocalStorage 本地存储JSON数据
- HTML5 Web存储方式的localStorage和sessionStorage进行数据本地存储案例应用
- HTML5 LocalStorage 本地存储JSON数据
- html5本地存储之数据库
- html5本地存储-遍历以及清空数据
- html5使用local storage存储的数据在本地是以何种形式保存的
- cocos2d-html5开发之本地数据存储
- js 通过post方式打开页面 利用html5本地存储获取数据
- HTML5 LocalStorage 本地存储JSON数据
- 使用HTML5实现本地数据存储(一)
- html5的页面缓存和本地数据存储支持
- JavaScript 实践HTML5 localStorage 本地存储Json等数据 助于移动设备和web前端开发
- HTML5 本地存储数据
- HTML5 本地数据存储
- cocos2d-html5开发之本地数据存储
- html5-web本地存储
- 内表数据下载到本地存储实例
- C#数据本地存储方案之SQLite
- 数据缓存与本地存储