localStorage、sessionStorage 和 cookie的区别

 相同点: 都存储在浏览器端,保存方式为字符串型的键值对;

不同点:

1、存储空间

cookie 的存储空间最小,只有4k 左右;一般是服务器端生成,用来标识用户身份的;

localStorage 和 sessionStorage 存储空间 5M 左右,用于浏览器缓存数据

 

2、存储时间

localStorage 可以长期存储在浏览器里,不会随着浏览器关闭而清除,除非主动删除数据;

sessionStorage 数据在当前浏览器窗口关闭后自动删除;

cookie 设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭;

临时存储: 如果有些数据只需要在用户浏览一组页面期间使用,关闭窗口后数据就可以丢弃了,适合用 sessionStorage 来存储,其他情况多用 localStorage

 

3、数据跟服务器交互

cookie 的数据会自动的发送给服务器,同时服务器端也可以更改 cookie 的数据

localStorage 和 sessionStorage 仅保存在本地

cookie的作用是与服务器进行交互,作为http规范的一部分而存在的,而web Storage仅仅是为了在本地“存储”数据

 

4、作用域

sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;localstorage在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的

sessionStorage的概念很特别,引入了一个“浏览器窗口”的概念,sessionStorage是在同源的同窗口中,始终存在的数据,也就是说只要这个浏览器窗口没有关闭,即使刷新页面或进入同源另一个页面,数据仍然存在,关闭窗口后,sessionStorage就会被销毁,同时“独立”打开的不同窗口,即使是同一页面,sessionStorage对象也是不同的

上图:

 

 

 

补充 session 和 cookie 的区别:

cookie和session都是用来跟踪浏览器用户身份的会话方式。

1.cookie 保存在客户端,session 保存在服务器端

2.cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session

3.session会在一定时间内保存在服务器上,当访问增多,会占用服务器的性能,考虑到减轻服务器性能方面,应当使用cookie

4.session中保存的是对象,cookie中保存的是字符串

5.cookie 用来判断用户是否登陆过网站,以便下次登录时能够实现自动登录(或者记住密码)。如果我们删除cookie,则每次登录必须从新填写登录的相关信息。

6.Session用于保存每个用户的专用信息,变量的值保存在服务器端,通过SessionID来区分不同的客户。

 

posted @ 2020-02-25 20:46  XLLANG  阅读(445)  评论(0编辑  收藏  举报