cookie 、session、token的含义和区别

首先http 协议是无效的,所以退出后,再次进入需要重新请求登录,无法判断是否登录过。

随着时代进步,web可以进行购物,无法记录哪些人进行了哪些操作,此时有了,session会话 。

客户端发送请求到服务端,服务端产生session id 存在服务器上,每次请求带着session id过来,就可以区分;但存在一个问题,服务器要保存成千上万的id ,很难受,服务器很累啊。

如果搭建服务器集群,负载均衡;假设小A登录服务器A,id保存在服务器A上,下次小A的请求转发到服务器B 上,服务器B没有id,识别不了,还得重新登录。

如果把服务器A说的id 粘到服务器B上,但是多台服务器搬来搬去,也很麻烦。

后来叫Memcached的人想出,把session id集中放在一个地方,存储,但是这个地方要是废掉了也很麻烦,也可以搞集群,但是也很麻烦,小小的id搞得头疼。

于是有人想到,可否让客户端进行保存,服务器不想干这个事。

当小A访问服务器时,可以给他返回一个token令牌,这个令牌中带有user id(账户密码) +HMAC-SHA256算法 +密钥,当小A再次登录时,通过user id(账户密码) +HMAC-SHA256算法 +密钥再计算一次token,与请求头中的token进行对比,相同,可登录,不同,没有访问权限不可登录;

这样服务器只需提供计算功能,不用存贮大量的id,他很开心!

总结:

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

 

1.session和cookie区别:

 数据存放位置不同:Session数据是存在服务器中的,cookie数据存放在浏览器当中。

·安全程度不同:cookie放在服务器中不是很安全,session放在服务器中,相对安全。

·性能使用程度不同:session放在服务器上,访问增多会占用服务器的性能;考虑到减轻服务器性能方面,应使用cookie。

·数据存储大小不同:单个cookie保存的数据不能超过4K,session存储在服务端,根据服务器大小来定。

2.token和session区别:

token是开发定义的,session是http协议规定的;

token不一定存储,session存在服务器中;

token可以跨域,session不可以跨域,它是与域名绑定的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值