本地存储与 cookie 的区别
cookie
Cookie
是小甜饼的意思。顾名思义,cookie
确实非常小,它的大小限制为 4KB 左
右。它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记住密码”, 这通常就是通过在Cookie
中存入一段辨别用户身份的数据来实现的。
localStorage
localStorage
是HTML5
标准中新加入的技术,它并不是什么划时代的新东西。早在 IE 6 时代,就有一个叫userData
的东西用于本地存储,而当时考虑到浏览器兼容性,更通用的方案是使用 Flash。而如今,localStorage
被大多数浏览器所支持,如果你的网站需要支持 IE6+,那以userData
作为你方案是种不错的选择。
sessionStorage
sessionStorage
与localStorage
的接口类似,但保存数据的生命周期与localStorage
不同。做过后端开发的同学应该知道 Session 这个词的意思,直译过来 是“会话”。而sessionStorage
是一个前端的概念,它只是可以将一部分数据在当前 会话中保存下来,刷新页面数据依旧存在。但当页面关闭后,sessionStorage
中的数据就会被清空。
三者的特点
cookie
:兼容性很好,可以灵活的设置数据的生命周期,缺点是操作不方便,需要大 量的字符串处理localStorage:IE67
不认识,永久性存储,只要用户不删除或调用 clear 方法就永远 不会删,操作很方便sessionStorage
:兼容性与localStorage
一样,但是存储时间是会话(在当前标签页
无论跳转到该网站的哪一个页面都能获取到,但关闭浏览器就会销毁,并且在其他 标签页面中是获取不到的)