zoukankan      html  css  js  c++  java
  • node之cookie和session对比

    (1)session作用

      记录登录状态

      接下来结合几个例子分析下session和cookie的区别

    (2)cookie场景(小纸条)

      例如,老师给学生发苹果,学生领完苹果后,背后会被贴条标记,表示已经领过苹果。

      需求:领过苹果的同学不能再领了... ...,但人数过多,老师记不清,所以只能你自己记住你自己

    之所以有这样的需求,因为HTTP协议是无状态协议,HTTP无状态协议,是指协议对于事务处理没有记忆能力。

      万一领过苹果的学生再次来领取,老师便可以根据背后的贴条做出判断。

      重点:标记在学生自己身上,即自己记住自己.cookie便是保存在客户端本地。

    cookie保存客户端本地,一般用来保存不太敏感的数据。但不能用来保存用户的登录状态。

      因为登录状态一般用来鉴定权限,例如爱奇艺VIP,如果把登录状态使用cookie保存在客户端,例如isVIP:true,则容易在客户端进行伪造... ...

    cookie一般用来记住用户名、购物车数据等等... ...

      对于敏感信息,则推荐使用session存储在服务端

    (3)无状态

    所谓http是无状态协议,言外之意是说http协议没法保存客户机信息,也就没法区分每次请求的不同之处。关于http无状态阻碍了交互式应用程序的实现。
    比如记录用户浏览哪些网页、判断用户是否拥有权限访问等。于是,两种用于保持HTTP状态的技术就应运而生了,一个是Cookie,而另一个则是Session。

    (4)session(超市储物柜)

      针对于cookie不能存储敏感信息的缺点,这里我们使用session来解决,将敏感信息存储在服务端。

       例如:超市的电子储物柜在使用时需要开柜拿票,回头拿着票来取物。

    此时便可以这样理解
        超市:服务端
        你:客户端(二维码小票就是开箱的凭证)

      真正的数据存储在服务端的电子柜里,而你拿的只是凭证,且凭证是唯一的,一旦丢失,从服务器角度将便不可找回。

       

    .

  • 相关阅读:
    .Net WebApi接口之Swagger UI 隐藏指定接口类或方法
    .Net WebApi接口之Swagger集成详解
    SVN服务器的本地搭建和使用
    MemCache在.NET中使用Memcached.ClientLibrary详解
    Memcache分布式锁
    MemCache可视化客户端管理及监控工具TreeNMS
    Redis可视化客户端管理及监控工具TreeNMS
    MemCache服务安装配置及windows下修改端口号
    MemCache在win7上的可视化配置以及Nodejs/Net应用
    Redis分布式锁
  • 原文地址:https://www.cnblogs.com/fightjianxian/p/12298236.html
Copyright © 2011-2022 走看看