小樱知识 > 生活常识session(前端也要了解 JWT 和 Session)

session(前端也要了解 JWT 和 Session)

提问时间:2022-11-19 21:53:38来源:小樱知识网


什么是 JWT ?

JWT(全称:JSON Web Token)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。

JWT 作用、 有什么好处

1、授权

用户登录授权

2、信息交换

可以进行签名,使用公钥/私钥可以验证内容是否被篡改

3、支持跨域访问

Cookie 不允许跨域访问,token 不存在跨域限制,

4、更适用于移动应用

原生平台(android、ios等)不支持 cookie ,token 的扩展性更强。基于标准化标准化存在多个后端库

5、性能

通过数据库查询 Session 信息,相比 HMAC SHA256 计算 token 验证和解析要更费时。

JWT 的问题

默认不加密,但可以加密服务器不保存会话状态,所以使用期间不可能取消 token 或更改 token 权限,一旦签发 token ,在有效期内会一直有效。token 有效期不宜太长,不建议使用 http 传输,减少盗用。

JWT 的组成

这里推荐一个网站可以解析 JWT 的各个组成部分 " jwt.io/ ",如下如图所示:

通过“.” 符号来分割成三个部分1、header 包含加密方式、type2、palyload 包含实际传递的参数内容(不要传递敏感数据,base64解码后可以看到,需要在额外加密一层)3、Signature 签名 主要决定了 header、Payload 有没有被篡改

什么是Session?

在专业术语中,Session是指会话控制,是保存在服务器上一种机制,当客户端访问服务器的时候,服务器会把信息以某种形式记录在服务器上,恰恰和Cookie相反。

因为 http 是一种无状态的协议,所以为了辨别出是哪个用户,所以在服务器存储了一份用户登录信息,将登录信息在响应时传递给浏览器,并且保存在 cookie 中,以便于下次发起请求,这样服务器就能辨别出是哪个用户发起的请求。这就是 session 认证。

Session 的缺点

数据通常保存在服务器内存中,随着用户增多,服务端的开销会明显增大。难以适用单点登录移动端开发扩展性不好需要 CSRF 防护

以上内容就是为大家推荐的session(前端也要了解 JWT 和 Session)最佳回答,如果还想搜索其他问题,请收藏本网站或点击搜索更多问题

内容来源于网络仅供参考
二维码

扫一扫关注我们

版权声明:所有来源标注为小樱知识网www.xiaoyin02.com的内容版权均为本站所有,若您需要引用、转载,只需要注明来源及原文链接即可。

本文标题:session(前端也要了解 JWT 和 Session)

本文地址:https://www.xiaoyin02.com/shcs/801454.html

相关文章