基本概念
Cookie
cookie非常小,限制在4k左右,主要用途是保存用户登录信息,通常在cookie中存入一段辨别身份用户的数据来实现
LocalStorage
长期存储,除非手动删除,否则数据不会消失
SessionStorage
会话存储,为每一个数据源维持一个存储区域,在浏览器打开期间存在,包括页面重新加载
三者的异同
特性 | cookie | LocalStorage | SessionStorage |
数据的生命周期 | 一般由服务器生成,可设置失效时间。如果在浏览器端生成Cookie,默认是关闭浏览器后失效 | 除非被清除,否则永久保存 | 仅在当前会话下有效,关闭页面或浏览器后被清除 |
存放数据大小 | 4K左右 | 一般为5MB | |
与服务器端通信 | 每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题 | 仅在客户端(即浏览器)中保存,不参与和服务器的通信 | |
易用性 | 需要程序员自己封装,源生的Cookie接口不友好 | 源生接口可以接受,亦可再次封装来对Object和Array有更好的支持 |