cookie localStorage sessionStorage之间的大致区别

cookie localStorage sessionStorage之间的大致区别

这里面先提一下这三者之间的共同点都是数据保存仔浏览器端,且是同源的。

它们分别是什么意思:
  • cookie: 储在用户本地终端上的数据。有时也用cookies,指某些网站为了辨别用户身份,进行session跟踪而存储在本地终端上的数据,通常经过加密。一般应用最典型的案列就是判断注册用户是否已经登过该网站。

  • localStorage: 没有时间限制的数据存储,第二天、第二周或下一年之后,数据依然可用。

  • sessionStorage: 针对一个 session 的数据存储,当用户关闭浏览器窗口后,数据会被删除。

大概区别如下:

1.数据的生命周期:

  • cookie如果没有设置时间则关闭浏览器失效设置 设置时间:则指定时间后失效;
  • localStorage如果没有手动清除,永久保存;
  • sessionStorage关闭设置sessionStorage的标签页便会失效,刷新该页面,不会失效,项目页面在一个新窗口打开或者关闭浏览器重新打开也会消失;

2.作用范围:

  • cookie当前页面指向的文件目录及其子目录,当然设置setcookie函数的参数4,5,可以改变作用范围.同一浏览器的不同页面可以共享cookie,但是cookie无法跨域;
  • localStorage同一个浏览器的不同页面可以共享信息,不同的浏览器之间数据不能共享;
  • 只能在设置sessionStorage的标签页;

3.可存储的数据量:

  • cookie大约在4k左右;
  • localStorage大约在20M左右;
  • sessionStorage大约在5M左右;

4.数据的存储位置:

  • cookie未设置保存时间:保存在运行内存中 设置保存时间:保存在硬盘里;
  • localStorage保存在硬盘里;
  • sessionStorage保存在运行内存中;

5.数据的存储形式:

  • cookie存储的形式是以字符串形式存储的:即“名称=值;data=时间”读的时候也是这样的不太方便好用;
  • localStorage存储的形式也是字符串,以键值对的形式存储,常利用JSON对象的方法去进行读写数据时的涉及到的转化;
  • sessionStorage的存储方式同上;

6.与服务器端通信:

  • cookie每次都会携带在http头中,如果页面中有太多cookie会影响性能;
  • localStorage仅在客户端(即浏览器)中保存,不参与和服务器的通信
  • sessionStorage与服务端通信同上;

猜你喜欢

转载自blog.csdn.net/weixin_44260238/article/details/88540565