cookie-session-Token

本文深入解析了Cookie、Session和Token三种用户状态管理机制。Cookie由服务器生成并存储于客户端,但存在安全风险和容量限制。Session将信息保存于服务器,确保安全性,但可能增加服务器内存负担且不支持跨域。Token机制通过加密客户端信息生成,存储于客户端,减轻服务器压力,支持跨域,适用于高并发场景。
摘要由CSDN通过智能技术生成

cookie

客户端向服务器发送请求,服务器如果需要记住客户端信息,就会生成一个cookie,cookie里面是key-value形式的数据,存储着信息,然后将cookie返回给客户端,并返回一个set-cookie的字段,客户端收到消息后就会将cookie保存起来,然后每次访问的时候都会带着cookie

session

session就是会话的意思,比如在当我们想要把某个商品加到我们的购物车中,服务器需要知道我们是谁,A不能把商品加到B的购物车里面,这就需要session来区分了。服务器给每一个用户都生成一个sessionId,并把这个sessionId返回给客户端,然后在服务器中将sessionId跟用户信息以key-value的形式保存起来,客户端访问的时候就会带着sessionId,然后服务器就会根据客户端携带的sessionId再查询出相应的信息。

token

现在都是高并发,大多情况下一台服务器已经不能满足业务的需求了,可能会有多台服务器,比如现在A服务器跟B服务器构成了一个集群,当使用session时,如果某个客户是在A服务器上生成的sessionId,那该用户的信息就会保存在A服务器上,如果某次访问时该客户被负载均衡到B服务器上,那B服务器上并没有保存该用户的信息,这就会产生问题。所以就产生了token,token并不会在服务器上保存用户信息,而是会对客户端携带的信息加密来生成token,然后将加密后的token返回给客户端,客户端会将token保存起来,之每次访问的时候都会带着token,服务器会对token进行解密,检验是否正确。

总结

  • cookie是将信息保存在客户端,由于是保存在客户端很容易被窃取,不安全,而且cookie的大小和数量也都有限制,大小一般不超过4k,同一个站点的cookie数量一般不超过20个
  • session是将信息保存在服务器,由于服务器需要保存每个用户的信息,所以会对服务器内存产生压力,而且session也不能实现跨域
  • token是将信息保存在客户端,减轻了服务器内存的压力,而且支持跨域
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值