本地存储数据分为四种方式:程序员
1.cookieweb
2.webStorage编程
3.Flash存储:借助Flash播放器浏览器
4.IndexedDB安全
提供了经过浏览器存储键/值对,以更直观的方式比使用cookie机制服务器
1.客户端存储数据技术,本地存储cookie
2.每一个存储源不能大于10MBsession
3.包括localStorage,sessionStoragedom
1.存储数据量大性能
2.不会随http请求一块儿发送
1.在浏览器的隐私模式下不能读取
2.本质是在读写文件,写入数据量大的话会卡(FF是将localstorage写入内存中的)
3.不能被爬虫读取
多数浏览器提供了隐身/私密模式,这与本地存储的使用存在根本矛盾,为防止用户禁用本地存储,在使用本地存储前应对使用环境进行校验,检查本地存储功能是否可用
type: Function
target: 设置/修改指定存储键值对
param: {String} [key] (required) 存储数据别名,用于获取/清除/修改数据的惟一识别码
param: {String} [valie] (required) 值
return {Undefined}
type: Function
target: 获取指定存储键值对
param: {String} [key] (required) 存储数据别名,用于获取/清除/修改数据的惟一识别码
return {String || Null} 值
type: Function
target: 清除指定存储键值对
param: {String} [key] (required) 存储数据别名,用于获取/清除/修改数据的惟一识别码
return {Undefined}
type: Function
param: null
target: 清除全部存储键值对
return {Undefined}
type: Function
param: {Number} [index] (required) 存储数据别名按字母排序后的序列值
return {String || Null} 获取key
type: Attribute
target: 获取storage存储数据总数量
return {Number} 存储数据个数
不一样浏览器没法共享localStorage或sessionStorage中的信息。相同浏览器的不一样页面间能够共享相同的 localStorage(页面属于相同域名和端口),可是不一样页面或标签页间没法共享sessionStorage的信息。这里须要注意的是,页面及标 签页仅指顶级窗口,若是一个标签页包含多个iframe标签且他们属于同源页面,那么他们之间是能够共享sessionStorage的。
1.生命周期只在设置的cookie过时时间内有效,即便窗口或浏览器关闭。
2.存放数据大小为4K左右且有个数限制(各浏览器不一样),通常不能超过20个。
3.与服务器端通讯:每次都会携带在HTTP头中,若是使用cookie保存过多数据会带来性能问题。
4.Cookie须要程序员本身封装,源生的Cookie接口不太友好
1.经过良好的编程,可控制cookie保存对象的大小。
2.经过加密和安全传输技术,减小cookie被破解的可能性。
3.控制cookie的生命周期,使之不会永远有效。这样的话偷盗者极可能拿到的就是一个过时的cookie。
1.cookie的长度和数量的限制。每一个domain最多只能有20条cookie,每一个cookie长度不能超过4KB。不然会被截掉。
2.安全性问题。若是cookie被人拦截,那我的就能够获取到全部session信息。
3.有些状态不能保存在客户端。例如,为了防止重复提交表单,咱们须要在服务端保存一个计数器。若吧计数器保存在客户端,则起不到什么做用。