首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

jwt解析网站_jwt工作原理

在登录一个网站进行访问时由于HTTP协议是无状态的就是说一次HTTP请求后他就会被销毁,比如我在www.a.com/login里面登录了,然后你就要访问别的了比如要访问www.a.com/index但是你访问这个网站你就得再发一次HTTP请求,至于说之前的请求跟现在没关,不会有任何记忆,这次访问会失败,因为无法验证你的身份。所以你登录完之后每次在请求上都得带上账号密码等验证身份的信息,但是你天天这么带,那太麻烦了。那还可以这样,把我第一次登录的信息状态都放在数据库里,下次我一访问,我查一下数据库就知道我登没登陆了,但是频繁查找数据库会给后台服务器造成非常大的压力所以就出现了Cookie,第一次登录就会返回一个Cookie,将一些简单地信息放在Cookie里返回给客户端,然后在客户端保存,每个域名下对应有一堆Cookie,下次我带Cookie来访问就行了。这样做也行但是Cookie很容易被篡改放在客户端并不安全,而且Cookie多了会无形的增加客户端与服务端的传输数据量。所以Session就出现了,Session放在后台服务器,将SessionID返回给客户端作为Cookie的值下次我带Cookie过来通过SessionID来查找Session中的一些登录或其他信息就行了。这样做也挺好。但是如果是集群环境下,那就不行了Session不能跨域也就是说你用www.baidu.com下的SessionID访问www.bilibili.com下的Session是不行的为了解决这个问题我们还得将Session在每台服务器上进行同步这也是一笔巨大的开销。

06
您找到你想要的搜索结果了吗?
是的
没有找到

秒懂JWT

JWT 英文名是 Json Web Token ,是一种用于通信双方之间传递安全信息的简洁的、URL安全的表述性声明规范,经常用在跨域身份验证。JWT 以 JSON 对象的形式安全传递信息。因为存在数字签名,因此所传递的信息是安全的。 在讲解 JWT 之前我们先来看一个问题。我们都知道 Internet 服务的身份验正过程是这样的,客户端向服务器发送登录名和登录密码,服务器验证后将对应的相关信息保存到当前会话中,这些信息包括权限、角色等数据,服务器向客户端返回 session ,session 信息都会写入到客户端的 Cookie 中,后面的请求都会从 Cookie 中读取 session 发送给服务器,服务器在收到 session 后会对比保存的数据来确认客户端身份。 但是上述模式存在一个问题,无法横向扩展。在服务器集群或者面向服务且跨域的结构中,需要数据库来保存 session 会话,实现服务器之间的会话数据共享。 在单点登录中我们会遇到上述问题,当有多个网站提供同一拨服务,那么我们该怎么实现在甲网站登陆后其他网站也同时登录呢?其中一种方法时持久化 session 数据,也就是上面所说的将 session 会话存到数据库中。这个方法的优点是架构清晰明了。但是缺点也非常明显,就是架构修改很困难,验证逻辑需要重修,并且整体依赖于数据库,如果存储 session 会话的数据库挂掉那么整个身份认证就无法使用,进而导致系统无法登录。要解决这个问题我们就用到了 JWT 。

01
领券