localStorage/sessionStorage与cookie的区别
一、localStorage/sessionStorage
localStorage:
1、localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在
2、存放数据大小为一般为5MB
3、它仅在客户端(即浏览器)中保存不参与和服务器的通信
sessionStorage:
1、sessionStorage仅在当前会话下有效,关闭页面或浏览器后被清除
2、存放数据大小为一般为5MB
3、它仅在客户端(即浏览器)中保存,不参与和服务器的通信
不同浏览器无法共享localStorage或sessionStorage中的信息。相同浏览器的不同页面间可以共享相同的 localStorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionStorage的信息。这里需要注意的是,页面及标 签页仅指顶级窗口,如果一个标签页包含多个iframe标签且他们属于同源页面,那么他们之间是可以共享sessionStorage的
二、cookie
1、生命期为只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭
2、存放数据大小为4K左右
3、有个数限制(各浏览器不同),一般不能超过50个
4、与服务器端通信:每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题
三、区别
1、存放数据的大小:localStorage、sessionStorage的可以存放的数据大小明显大于cookie的可以存放数据大小
2、与服务器端通信:cookie会被携带在请求头中,而localStorage/sessionStorage不会参与与服务器的通信
3、会话级别:localStorage永久会话级别,sessionStorage浏览器关闭会话结束,cookie是根据他自身参数expires所设置的时间来决定会话级别
4、个数限制:localStorage/sessionStorage无限制,cookie根据浏览器的不同,个数稍有区别,一般不会超过50个