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的唯一性
– 同源限制
– 只能在本地脚本控制
– 更新策略
发表回复
要发表评论,您必须先登录。