区别cookie、sessionStorage、loaclStorage
总述:
cookie、sessionStorage、loacalStroge这三者均可以用来在浏览器端存储数据,而且都是字符串类型的键值对,区别在于前者是webstroge存储,创建的目的是存储客户端数据,而cookie早在网景公司的浏览器中就开始支持,最初的目的是伪类保持HTTP的状态。
区别:
1.大小:
cookie的大小不能超过4k;
sessionStorage、localStorage存储虽然也受限制,但可以到达5M或更大;
2.与服务器交互
cookie可以与服务器交互;
sessionstorage、localstorage不能与服务器交互,仅将数据保存在本地;
3.有效时间
cookie设置的cookie过期时间之前一直有效、即使窗口或浏览器关闭;
sessionStorage数据在当前浏览器窗口关闭后自动删除;
localstorage存储持久数据,浏览器关闭后数据不会丢失除非主动删除数据;
注:这也是sessionstorage与localstorage唯一的不同;
4.安全性
cookie的数据会被发送到服务器端,而另外二者不会,所以相对更安全;
5.作用域
cookie需要指定作用域,不能跨域,而另外两个可以跨域调用;
6.网络流量
sessionstorage与localstorage不用再服务器获取数据,所以更节省流量、速度更快。
7.数据操作方便性
sessionstorage与localstorage提供了一些方法,操作更方便
setItem (key, value) —— 保存数据,以键值对的方式储存信息。
getItem (key) —— 获取数据,将键值传入,即可获取到对应的value值。
removeItem (key) —— 删除单个数据,根据键值移除对应的信息。
clear () —— 删除所有的数据
key (index) —— 获取某个索引的key