cookie,localStorage ,sessionStorage理解和区别

cookie,localSorage,sessionStorage的理解和区别

  • 理解

    1.共同点:cookie,sessionStorage,localStorage都是保存在浏览器端的,并且都是同源的。

    2.Cookie: cookie数据始终在同源http请求中携带,在浏览器和服务器端来回传递。而sessionStorage和localStorage是不会自动把数据发给服务器的,仅在本地保存。cookie数据还有路径(path)概念,可以进行限制。cookie只属于某个路径下,存储数据大小限制也不同,cookie数据不能超过4kb。(同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如 回话标识)。
    webStorage(localStorage和sessionStorage):也有存储大小的限制,但比cookie大得多,可以达到5M或更大
    localStorage和sessionStorage的数据有效期不同;localStorage:用于持久化的本地存储,始终有效,窗口或浏览器关闭也一直保存,除非主动删除数据,否则不会过期。
    sessionStorage:仅在当前会话下有效,关闭页面或浏览器后被清除。
    作用域不同: sessionStorage :不在不同的浏览器窗口共享,即使是同一个页面
    localStorage和cookie 均在所有同源窗口都是共享的。

    3关于cookie的主要作用/用途
    (1)用于保存用户登录状态。服务器再向客户端发送cookie后,浏览器会将cookie保存,之后每次http请求浏览器都会将cookie发送给服务器端。例如:将用户id存储在cookie中,这样当用户下次访问该页面是就不用了重新登录,并且cookie还可以设置过期时间,当超过过期时间之后,cookie就会自动消失。
    (2)跟踪用户行为。用cookie来记录用户选项,例如:背景色,分辨率等。当用户下次访问时,依然可以保存上一次访问的界面分格。

- 区别
1.生命周期:

        cookie可以设置失效时间,否则默认关闭浏览器后会失效;
        localStorage:除非被手动清除,否则永远保存;
        sessionStorage:仅在 当前会话下有效,关闭页面或浏览器后被清除。
 2.存储数据
       
       cookie:不能超过4kb
       localStorage和sessionStorage:可以达到5M或者更多
 3.http请求
 
      cookie:每次都会携带在http头中,如果使用cookie保存过多数据会带来性能问题。
      localStorage和sessionStorage:仅在客户端即浏览器中保存,不参与和服务器的通信。
 4.易用性:
  
      cookie:需要程序员自己封装,原生cookie接口不够友好
      localStorage和sessionStorage:即可采用原生接口,也可以再次封装
 5.应用场景
  
   从安全性来说,因为每次http请求都会携带cookie信息,这样会浪费带宽,所以cookie应当尽可能少用,
   此外cookie还需要指定作用域,不可以跨域调用,限制很多,但就用户识别 用户邓丽来说,cookie比storage好用。(其他情况下可以用storage)
   localStorage:可以用在页面传递参数
   sessionStorage:可以用来保存一些临时数据,防止用户刷新页面后,丢失一些参数。

cookie和session的区别,cookie有哪些限制?

  1. cookie数据存放在客户的浏览器上,session数据放在服务器上。
  2. cookie不是很安全,别人可以分析存放在本地的COOKIE,并进行COOKIE防骗,考虑到安全,应当使用session。
  3. session会在一定时间内保存在服务器上。当访问增多,会比较占用服务器的性能。考虑减轻服务器性能方面,应当使用COOKIE
  4. 单个cookie保存的数据不能超过4K,很多浏览器都限制在一个站点最多保存20个cookie。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值