session , cookie ,token的区别及联系

session

session的中文翻译是"会话",当用户打开某个web应用时,便与web服务器产生一次session.服务器使用session把用户的信息临时保存在了服务器上,注意是服务器上,用户离开网站后session就会被摧毁.这种用户信息存储防护相对cookie来说更加的安全,可是呢,session有一个缺陷,那就是:如果web服务器做了负载均衡,name下一个操作请求到了另一台服务器的时候,session会丢失,不过有一个方法可以解决这个问题,就是session共享啦!(今天先不分享session共享的问题).

cookie

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

token

token的意思是"令牌",顾名思义,没有令牌就没有权利,有了令牌就是有了通行证.token是用户身份的验证方式.

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

session和cookie的区别

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

5、所以个人建议:
将登陆信息等重要信息存放为SESSION
其他信息如果需要保留,可以放在COOKIE中

session和token的区别

session 和 oauth token并不矛盾,作为身份认证 token安全性比session好,因为每个请求都有签名还能防止监听以及重放攻击,而session就必须靠链路层来保障通讯安全了。如上所说,如果你需要实现有状态的会话,仍然可以增加session来在服务器端保存一些状态

如上是我看了几篇博客之后浅薄的理解和总结.
但是个人觉得三者并没有什么可比性,只是因为三者都是某种缓存某种特定信息的机制,因此才将三者放在一起.

学而不思则罔,思而不学则殆.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

草莓味少女vv

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

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

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

打赏作者

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

抵扣说明:

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

余额充值