session和cookie定义、区别及使用场景( Token)

1.session是什么,cookie是什么,有什么使用场景

  • cookies:存于客户端,是针对每一个网站的信息,每一个网站只对应一个,其它网站不能访问,这个文件是保存在客户端的,每次你打相应网站,浏览器会查找这个网站的 cookies,如果有就会将这个文件起发送出去cookies文件的内容大致包函这些信息如用户名,密码,设置等。

  • session:存在于服务器端, 是针对每一个用户的,只有客户机访问,程序就会为这个客户新增一个 session。 session 里 主要保存的是用户的登录信息,操作信息等。这个 session 在用户访问结束后会被自动消失(如果超时也会)。

2.session和cookie的区别

  • session保存在服务器,客户端不知道其中的信息;cookie保存在客户端,服务器能够知道其中的信息。

  • session中保存的是对象,cookie中保存的是字符串。

  • session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到。而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的。

  • session需要借助cookie才能正常工作。如果客户端完全禁止cookie,session将失效。

3.Token是什么?

  • Session和Cookie机制来保持会话,会存在一个问题:客户端浏览器只要保存自己的SessionID即可,而服务器却要保存所有用户的Session信息,这对于服务器来说开销较大,而且不利用服务器的扩展(比如服务器集群时,Session如何同步存储就是个问题)!把Session信息让客户端来保管而且无法伪造,便有了Token机制。

  • Token俗称为“令牌”,它的构成是:

    • uid:用户唯一身份标识

    • timestamp:当前时间戳

    • sign:签名字符串,防止第三方伪造数据;签名密钥是存储在服务器端的,其它人无法知道

    • 其它附加参数。

  • Token机制下的认证流程 Token机制其实和Cookie机制极其相似,主要有以下流程:

    • 1、用户登录进行身份认证,认证成功后服务器端生成Token返回给客户端;

    • 2、客户端接收到Token后保存在客户端(可保存在Cookie、LocalStorage、SessionStorage中);

    • 3、客户端再次请求服务器端时,将Token作为请求头放入Headers中;

    • 4、服务器端接收请求头中的Token,将用户参数按照既定规则再进行一次签名,两次签名若一致则认为成功,反之数据存在篡改请求失败。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值