Cookie 是小甜饼的意思。顾名思义,cookie 确实非常小,它的大小限 制为 4KB 左右。它的主要用途有保存登录信息,比如你登录某个网站市 场可以看到“记住密码”,这通常就是通过在 Cookie 中存入一段辨别用 户身份的数据来实现的。
localStorage
localStorage 是 HTML5 标准中新加入的技术,它并不是什么划时代的 新东西。早在 IE 6 时代,就有一个叫 userData 的东西用于本地存储, 而当时考虑到浏览器兼容性,更通用的方案是使用 Flash。而如今, localStorage 被大多数浏览器所支持,如果你的网站需要支持 IE6+, 那以 userData 作为你方案是种不错的选择。
sessionStorage
sessionStorage 与 localStorage 的接口类似,但保存数据的生命周期 与 localStorage 不同。做过后端开发的同学应该知道 Session 这个词 的意思,直译过来是“会话”。而 sessionStorage 是一个前端的概念, 它只是可以将一部分数据在当前会话中保存下来,刷新页面数据依旧存 在。但当页面关闭后,sessionStorage 中的数据就会被清空。 三者的异同 特性Cookie localStorage sessionStorage 数据的生命期 一般由服务器生成,可设置失效时间。如果在浏览器端生成 Cookie,默 认是关闭浏览器后失效 除非被清除,否则永久保存 仅在当前会话下有效,关闭页面或浏览器后被清除 存放数据大小 4K 左右 一般为 5MB 与服务器端通信 每次都会携带在 HTTP 头中,如果使用 cookie 保存过多数据会带来性能 问题仅在客户端(即浏览器)中保存,不参与和服务器的通信 易用性 需要程序员自己封装,源生的 Cookie 接口不友好 源生接口可以接受,亦可再次封装来对 Object 和 Array 有更好的支持