HTML5客户端存储方式

Cookie
– 限制4K
– 子域名之间可以共享

SessionStorage
– 重新打开浏览器后消失
– 打开新的tab页之后消息
– 子域名之间不可以共享数据

LocalStorage
– 最大限制5M
– 永不过期
– 子域名之间不可以共享数据

离线缓存 application cache, 通过manifest文件指明需要缓存的资源, 可以使用 navigator.onLine判断是否离线
– 有更新后拉取所有的文件
– 完全离线
– 资源被缓存,加载更快
– 降低server负载
– 含有manifest属性的当前请求页无论如何都会被缓存
– 更新需要建立在manifest文件的更新,文件更新后需要再次刷新,也就是说需要2此刷新才能获取新资源
– 更新时全局的,无法单独更新某个文件
– 对于链接参数是敏感的,页面的链接不同会认为是不同文件分别缓存
– 适用场景:单地址页面,对实时性不高的业务,离线webapp

IndexedDB 和 WebSQL

userData
– 只有64k
– 只支持5.0-9.0

google Gears
– 采用64SQLite
– 只有chrome
– 12.0后放弃
– 需要用户授权

Service worker
– 网络代理
– 离线缓存
– 消息推送
– 后台消息传递

注意事项:
– 使用前判断浏览器是否支持
– 写入数据时需要异常处理,避免抛出错误
– 避免把敏感信息存入本地
– key的唯一性
– 同源限制
– 只能在本地脚本控制
– 更新策略


已发布

分类

作者:

标签

评论

发表回复