帝国cms网站地图生成器,新开传奇网站新开网,建设一个微商的网站,建设网站找什么每日八股-6.12 计算机网络1.当我们在浏览器中输入一个 URL 并按下回车后#xff0c;到页面最终显示出来#xff0c;这中间都发生了哪些关键步骤#xff1f;2.请简述一下 JWT#xff08;JSON Web Tokens#xff09;的原理和校验机制 计算机网络
1.当我们在浏览器中输入一个… 每日八股-6.12 计算机网络1.当我们在浏览器中输入一个 URL 并按下回车后到页面最终显示出来这中间都发生了哪些关键步骤2.请简述一下 JWTJSON Web Tokens的原理和校验机制 计算机网络
1.当我们在浏览器中输入一个 URL 并按下回车后到页面最终显示出来这中间都发生了哪些关键步骤
Redis 在很多业务场景中都有广泛的应用我列举一些比较常用的
热点数据缓存 这是 Redis 最常见的应用场景。由于 Redis 速度快非常适合存储访问频率很高的数据比如商品信息、用户信息、配置信息等等。限时类业务的实现 Redis 提供了 expire 命令可以设置 key 的过期时间这非常适合实现一些限时业务比如验证码的有效期、优惠券的使用期限、活动倒计时等等。计数器的实现 Redis 的 incrby 等命令可以实现原子性的递增操作在高并发场景下非常有用比如可以用来做秒杀活动的计数、限制某个接口的访问频率等等。排行榜的实现 Redis 的有序集合SortedSet可以根据分数进行排序非常适合实现各种排行榜功能比如热门商品排行榜、用户积分排行榜等等。分布式锁的实现 可以利用 Redis 的 setnxset if not exists命令来实现简单的分布式锁保证在分布式环境下只有一个客户端能执行特定的操作。
2.请简述一下 JWTJSON Web Tokens的原理和校验机制 JWT的全称是JSON WEB TOKENS是一种基于Json的开放标准一个JWT由三个部分构成 头部header 头部包括两个字段第一个字段是alg也就是指明我们的加密算法分为对称算法和非对称算法两种对称算法用到的一般是HS256非对称算法一般用到的是RS256第二个字段是typ这是一个固定值JWT用来表示他是一个jwt token。头部会使用base64 url来进行编码并进行加密 负载payload 负载主要存储的是实际信息包括用户登录信息过期时间等等他也需要用base64 url来进行编码但是他不会加密所以说我们不能将任何敏感的数据存放在负载里。 签名signature 签名是服务器用来验证客户端传来的jwt的完整性和真实性它等于alg解密后的头部“.”解密后的负载secret
校验机制是这样的客户端发来一个jwt token服务器端用头部中的算法计算base64 url解密后的头部加上base64 url解密后的负载加上服务器端的密钥看是否用jwt token中的签名一致如果一致说明没有被篡改可以进行后续的操作。
补充Refresh Token
为什么需要Refresh Token
Access Token即jwt在客户端请求服务器时会频繁的暴露在网络传输中极有可能会被窃取如果说jwt token设置的过期时间很长那么对用户会造成损失如果jwt token设置的过期时间很短比如说15分钟那么用户在使用服务的时候每隔十五分钟就需要重新输入一次密码这对于用户的体验感是极差的
所以说我们在Access Token的基础上引入了Refresh Token它解决了上面两个问题首先Access Token通常存储在内存中而Refresh Token一般存在cookie上这保证了安全性另外最重要的是我们引入Refresh Token来刷新Access Token的这一过程对用户是无感的也就是用户不会察觉到。
Access Token (访问令牌)就像是你酒店房间的房卡。它的有效期很短比如 15 分钟到 1 小时你每次进房间访问受保护的 API都需要出示它。它直接暴露给各种服务风险较高。 Refresh Token (刷新令牌)就像是你办理入住时拿到的入住凭证。它的有效期很长比如 7 天或 30 天你平时都把它妥善保管起来不会轻易示人。它的唯一作用就是当你的房卡Access Token过期失效时你可以拿着这个凭证去前台特定的刷新接口换一张新的房卡。 所以Refresh Token 本身并不用于访问业务 API它唯一的作用就是用来获取新的 Access Token。