cookie、session、sessionId、token区别,以及shiro 生成token

为什么要使用cookie和session
cookie和session是一种追踪客户端与服务器端通信的一种方式。
我们知道http链接是无状态链接,每次客户端访问服务端,服务端都不会知道访问者是谁,这样的好处就是http设计简单,缺点也显而易见:每次关闭浏览器后又要重新登录

生成的记录如何返回给客户,客户下次访问又如何传递到服务器中?
这就是利用了cookie。cookie是一段存储在浏览器中的文本,它可以保存用户的信息,服务端通过设置返回头的set-cookie字段就能返回给浏览器并保存cookie,浏览器又自动设置请求头的cookie字段将cookie传递给服务器。 

既然cookie就能保存用户的信息,那session又是干什么用的?
cookie是保存在浏览器中的,服务器中没有保存,如果我们在浏览器中伪造一个cookie然后传递给服务器,服务器怎么知道cookie是真是假,所以在服务端中也要有一种机制要记录会话信息。
当用户第一次访问服务器时,在服务器中生成记录并保存在session中,然后将这个记录通过cookie返回给浏览器,浏览器下次访问时带上cookie,服务器再通过session验证传过来的cookie是否正确。
另外cookie是存储在浏览器端的,存储的登录信息不够安全任何人都能访问,而存储在服务器端更安全。

sessionId是什么?
上面所说的用户第一次访问会产生一个记录,这个记录就是这次会话的sessionId,sessionId又一cookie的形式传递给浏览器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值