理解Session Cookie Token

Cookie

Cookie是一个非常具体的东西,指的就是浏览器中可以永久存存储的一种数据,仅仅是浏览器实现的一种数据存储功能。

Cookie由服务器生成,发送给浏览器,浏览器把cookie以key-value键值对的形式保存到某个目录下的文本文件内,下一次请求同一个网站时会把该cookie发送给服务器。由于cookie是存在于客户端上的,所以浏览器加入了一些限制来确保cookie不会被恶意使用,同时不会占据太多的磁盘空间,所以每个域的cookie数量是有限的。

Session

session从字面上讲,就是会话。这个就类似于你一个人交谈,你怎么知道当前和你交谈的是张三而不是李四?对方肯定有某种特征表明他是张三。

session也是类似的道理,服务器要知道当前发请求给自己的谁,为了做这种区分,服务器就要给每个客户端分配不同的“身份标识”,然后客户端每次向服务器发请求的时候,都带上这个“身份标识”,服务器就知道这个请求来自于谁了。至于客户端怎么保存这个“身份标识”,可以有很多种方式,对于浏览器客户端,大家都默认采用cookie的方式。

服务器使用session把用户的信息临时保存在了服务器上,用户离开网站后session会被销毁。这种用户信息存储方式相对cookie来说更安全,可是session 有一个缺陷:如果把web服务器做了负载均衡,那么下一个操作请求到了另一台服务器的时候session就会丢失。

Token

 token的意思是“令牌”,是用户身份的验证方式,最简单的token组成:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,由token的前几位+盐以哈希算法压缩成一定长的十六进制字符串,可以防止恶意第三方拼接token请求服务器)。还可以把不变的参数也放进token,避免多次查库。

在web领域基于token的身份验证随处可见。在大多数使用web api的互联网公司中,tokens是多用户下处理认证的最佳方式。以下几个特征会让你在程序中使用基于Token的身份验证:

  •  无状态,可扩展
  • 支持移动设备
  • 跨程序使用
  • 安全

【拒绝白嫖,原文链接地址:

session 、cookie、token的区别及联系 - 溪洋 - 博客园

彻底理解cookie,session,token - 墨颜丶 - 博客园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦想天涯~路在脚下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值