Cookie+Session和JWT的区别

Cookie(钥匙)+Session(锁)一般用于登录校验使用。 基本流程如下

用户输入用户名密码(验证码)进行登录,服务端将用户信息存储在Session中(Session有效期默认20分钟左右) 并用set-cookie设置浏览器端cookie。之后每一次请求都会带上cookie进行服务端请求。通过cookie验证session是否合法。

JWT是json web token的简称,一般用于前后端分离项目的解决方案。(服务端JWT是锁,token是钥匙)

用户输入用户名密码(验证码)进行登录,服务端将用户信息存储在JWT中设置有效期 ,并返回给客户端存储(ssesionStorage)。之后每一次请求都会在请求头中带着token进行服务端请求。通过token验证session是否合法。

服务端身份到期解决方案

1.重定向到登录页面(不友好)

2.利用中间层来管理token的有效期,如redis,数据库定时作业任务等来管理(推荐)

3.双层token,第一个token2小时,第二个token4小时,当使用第二个token时重新生成2个新的token。(推荐)

你可能感兴趣的:(前端,后端,json,java,前端)