浏览器中有很多存储,比如说就分为了离线存储和本地存储
离线存储(manifest)
原理:基于新建的appcache文件的缓存机制(不是存储技术)。通过这个文件上的解析清单离线存储资源,这些资源就会像cookie一样被存储了下来,之后没有网的时候,会通过离线存储的数据进行页面展示
- 离线浏览:用户可以在应用离线时使用它们
- 速度:已缓存资源加载速度快
- 减少服务器负载: 浏览器只从服务器下载更新后的资源
- 离线缓存的一般都是网页
- 用法:在页面头部加入manifest属性;在cache.manifest文件中编写离线存储;离线状态,操作window.applicationCache进行需求实现
本地存储(localStorage)
- 存储在本地(在客户端的硬件设备)
- 本地存储一般存数的都是数据。
- 以键值对的方式存储
- 用法:在a.html中设置
localStorage.setItem("name", key)
;在b.html可以通过localStorage.getItem("name")
获取到对应的key值信息,可以实现跨页面之间的数据传递。
那么说道localStorage
就可以很自然的想到一个与他对应的sessionStorage
- sessionStorage
- 与localStorage最大的却别就是在于生命周期的不同。
- 在浏览器窗口关闭之后,数据会被删除。
- 以键值对的方式存储
带到了sessionStorage,那就将也了解了解cookie好了
- cookie:是网站中标示着用户身份而储存在用户本地端上的数据
- 优点:
- 可控制过期事件,使器不会长期有效
- 可扩展,可用性比较好
- 可加密减少cookie被破解的可能性
- 缺点:
- 数量和长度有限制,最多20条
- 在请求上带着数据
- 在请求头上带着数据安全型差