Cookie、Session、令牌
1.会话
用户打开一个浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程可以称之为会话
2.保存会话的两种技术
服务端给客户端一个 信件,客户端下次访问服务端带上信件就可以了 cookie
服务器登记你来过了,下次你来的时候我来匹配你 seesion
cookie
客户端技术(响应,请求)
session
服务器技术,利用这个技术,可以保存用户的会话信息
优点
存储在服务端,安全
缺点
服务器集群环境下无法直接使用session
Cookie的缺点
3.Cookie
从请求中拿到cookie信息
服务器响应给客户端cookie
Cookie[]cookies =req.getcookies(); 获得cookie
cookie.getName(); 获得cookie中的key
cookie.getvalue(); 获得cookie中的vlaue
new cookie("lastLoginTime",system.currentTimemi1lis()+""); 新建一个cookie
cookie.setMaxAge(24*60*60);设置cookie的有效期
resp.addcookie(cookie); 响应给客户端一个cookie
cookie:一般会保存在本地的 用户目录下 appdata;
细节
一个Cookie只能保存一个信息
一个web站点可以给浏览器发送多个cookie,最多存放20个cookie
Cookie大小有限制4kb
300个cookie浏览器上限
删除Cookie;
不设置有效期,关闭浏览器,自动失效
设置有效期时间为 0
编码解码
优点
HTTP协议中支持的技术
缺点:
移动端APP无法使用cookie
不安全,用户可以自己禁用Cookie
Cookie不能跨域
4.Session
服务器会给每一个用户创建一个Session对象
一个Seesion独占一个浏览器,只要浏览器没有关闭,这个Session就存在
5.Session和cookie的区别
Cookie是把用户的数据写给用户的浏览器,浏览器保存(可以保存多个)
Session把用户的数据写到用户独占Session中,服务器端保存(保存重要的信息,减少服务器资源的浪费)
Session对象由服务创建
6.JWT
定义了一种简洁的、自包含的格式,用于在通信双方以json数据格式安全的传输信息。由于数字签名的存在,这些信息是可靠的
Base64
是一种基于64个可打印字符(A-Z a-z 0-9 + /)来表示二进制数据的编码方式(= 补位符号)
优点
支持PC端、移动端解决集群环境下的认证问题减轻服务器端存储压力
缺点
需要自己实现
07-24
255
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-23
1002
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
08-18