首页 > 试题广场 >

Cookie、sessionStorage、localSt

[问答题]

Cookie、sessionStorage、localStorage的区别


首先要说的一点,就是cookie和web storage的用处天差地别,可比性就见仁见智了。

cookie:

  1. 用处:用于客户端和服务器的信息传输,在同源的http请求中,会被始终携带着。
  2. 有效期:当我们尚未给cookie设置过期时间时,cookie会随着浏览器窗口的关闭而消失,这个时候cookie会被存储在内存中;假如给cookie设置了过期时间,那么cookie就会被存储到硬盘上,以便长期保存。
  3. 存储容量:传输的过程要占用带宽,所以容量必然不能过大,或者说很小。
  4. 存在形式:cookie在传输的过程中,是以纯文本的形式存在的。
  5. 存取方法:cookie需要自己封装setCookie和getCookie
  6. 作用域:在所有同源窗口共享。
  7. 路径概念:有,不同路径下的cookie是无法互相访问的。
  8. 是否支持事件通知机制:不支持。

web Storage:

  1. 用处:用于本地存储数据,例如存储一些状态,可以用于刷新界面,购物车信息依然存在的效果。它仅仅保存在本地。
  2. 存储容量:session Storage存储在内存中,local Storage存储在硬盘中,这个存储容量当然就可以相对大很多了。
  3. 存取方法:web Storage本身就带有setItem、getItem等方法。
  4. 作用域&有效期:sessionStorage是在同源的同窗口中,始终存在的数据。也就是说只要这个浏览器窗口没有关闭,即使刷新页面或进入同源另一个页面,数据仍然存在,关闭窗口后,sessionStorage就会被销毁,同时“独立”打开的不同窗口,即使是同一页面,sessionStorage对象也是不同的。

local Storage:

  1. 在所有同源窗口中都是共享的,而且是始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据保存。
  2. 存在形式:对象。
  3. 路径概念:无。
  4. 是否支持事件通知机制:是。

更多的细节可以参考这篇文章:https://blog.csdn.net/qq_44647809/article/details/115403118
编辑于 2021-09-29 21:38:51 回复(0)

<p>cookie一般是用于存储用户信息,而且一般会跟随http请求往返于服务器于浏览器之间不管需不需要,大小也就只有4K</p><p><br></p>

localstorage也叫本地存储,内存较大并且不论浏览器关闭与否都不会主动删除大小为5M左右

sessionstorage也叫会话存储只存在于浏览器会话期间,浏览器关闭就会被删除

编辑于 2020-05-18 21:39:26 回复(0)