JWT和token有什么区别?

JWT和token有什么区别?,这是一道非常高频的前端面试题,但是很多同学在面试时候都回答不出来。老规矩,点赞收藏,点点关注支持一下,给我一分钟,理想哥教大家该怎么满分回答这个问题

如果我是求职者,我会这么回答:

Token其实就是一个加密的字符串,通过MD5等一些不可逆加密算法实现的,可以保证唯一性。

JWT是json web token缩写,是一种特定类型的Token,它采用了JSON格式来存储有关用户身份和访问权限的信息。JWT会把用户信息加密到token里,服务器不保存任何用户信息,服务器通过使用保存的密钥来验证JWT Token。

JWT由三部分组成,分别是头部(Header)、载荷(Payload)和签名(Signature),头部包含有关JWT的元数据和算法信息,载荷包含实际的用户数据,例如用户ID、角色等,签名用于验证JWT的完整性和真实性。

JWT和token的区别主要体现在是否需要查询数据库。对了Token来说,服务端验证客户端发送过来的 Token 时,还需要查询数据库获取用户信息,然后验证 Token 是否有效。而JWT则不需要,因为用户的信息及加密信息、过期时间,都存储在JWT里,服务端只需要使用密钥解密进行校验即可,不需要查询或者减少查询数据库。

以上就是这个问题的回答了,大家可以下次面试时试试这么回答看看效果。

最后,欢迎关注理想哥,每天学点前端面试小技巧。

#前端#
全部评论
原来如此
2 回复 分享
发布于 06-29 12:30 北京
token不一定非得是加密的,有的token直接用的base64转换过去的
2 回复 分享
发布于 07-03 22:57 辽宁
三星
校招火热招聘中
官网直投
一次面java后端问我这个问题,当时确实有点懵
1 回复 分享
发布于 07-03 20:47 陕西
不对吧?
点赞 回复 分享
发布于 07-28 13:24 江西

相关推荐

HTTP(超文本传输协议)是一种用于在网络上进行通信的协议。 它是用于在Web浏览器和Web服务器之间传输超文本文档的基础协议。HTTP的核心概念和工作原理如下:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&uuid=b48bebe08e474db8b80b853b12bafd48客户端和服务器之间的请求/响应模型:客户端发送一个HTTP请求到服务器,服务器处理该请求并返回一个HTTP响应。请求方法:HTTP定义了一组请求方法,包括GET、POST、PUT、DELETE等。这些方法用于指定请求的目的以及对资源的处理方式。URL(统一资源定位符):HTTP使用URL来标识要请求或响应的资源。URL由协议、服务器地址、端口和资源路径组成。请求头和响应头:HTTP请求和响应都包含一组头部信息。请求头包含有关请求的元数据,如请求方法、请求主机等。响应头包含关于响应的元数据,如状态码、内容类型等。状态码:HTTP响应包含一个状态码,用于指示请求的处理结果。常见的状态码包括200(请求成功)、404(未找到)和500(服务器内部错误)等。内容编码:HTTP支持使用不同的编码格式来传输数据。常见的编码方式包括gzip、deflate和br等,用于压缩数据的大小以提高传输效率。Cookies和Sessions:HTTP通过使用Cookies或Sessions来维护状态。Cookies是服务器在客户端存储的小段信息,用于跟踪用户的状态,而Sessions是由服务器维护的与用户相关的数据。缓存:HTTP允许客户端和服务器使用缓存来减少重复请求和提高性能。客户端可以使用响应头中的Cache-Control字段来控制缓存策略。安全性:HTTP可以通过HTTPS(HTTP Secure)来提供安全的通信,使用TLS或SSL加密数据以防止窃听和篡改。
点赞 评论 收藏
分享
44 180 评论
分享
牛客网
牛客企业服务