1.Session的生成方式
浏览器第一次访问服务器时,服务器创建一个session,同时生成一个唯一的会话key,即sessionID。接着sessionID及session分别作为key和value保存到缓存中,也可以保存到数据库中,然后服务器把sessionID以cookie的形式发送给浏览器,浏览器下次访问服务器时直接携带上cookie中的sessionID,服务器再根据sessionID找到对应的session进行匹配
这里我们注意到两点:1.sessionID会自动由浏览器带上
2.session是需要存储空间的
2.Token的生成方式
浏览器第一次访问服务器时,服务器根据传过来的唯一标识userId
,通过一些算法,加一个密钥,生成一个token,接着通过base64编码将token返回给客户端。客户端将token保存起来,下次请求时需要带着token
,服务器收到请求后,用相同的算法和密钥去验证token
这里我们注意到两点:1.token需要代码
才能带上 2.token可以不需要存储空间(JWT)
(当然也有存入缓存的处理,特别是要进行revoke操作时),通过算法和密钥验证
3.区别
1》.浏览器方面:是否直接直接带上
2》.服务器方面:是否需要存储空间