【面试真题拆解08】你知道登录用到的Token是什么吗?

四季读书网 2 0
【面试真题拆解08】你知道登录用到的Token是什么吗?

用户注册登录模块几乎是每一个项目都有的,有一次面试的时候,面试官问:

你既然说到了登录,那你知道Token是什么吗?

一句话:

Token = 用户登录成功后,服务器给你颁发的一张加密的临时电子通行证,最常用的就是 JWT 格式的 Token。

它本质上就是一段加密字符串,作用就是证明三件事:你是谁、你已登录、你有权限访问这个接口。

为什么登录必须用 Token?

因为 HTTP 请求是无状态的——服务器记不住你上一秒是不是登录过。每一次请求,对服务器来说都是“陌生人”。

所以必须给你发一张 Token,让你每次访问都带着,证明你已登录。

不然你每次点一下页面都要重新输账号密码,根本没法用。

Token 的工作流程

【面试真题拆解08】你知道登录用到的Token是什么吗? 第1张

Token 的作用

【面试真题拆解08】你知道登录用到的Token是什么吗? 第2张

Token 和 Session 的区别

  1. 存的地方不一样Session 把你的身份信息全存在服务器,用户一多就特别占内存;Token 是把“电子通行证”直接存在你自己的前端设备里,服务器不用存任何用户状态,只需要验一下通行证的真假就行,几乎没额外负担。
  2. 分布式场景的适配能力不一样Session 不适合多服务器的分布式场景——就像你在1号窗口办的会员,2号窗口根本不认,得来回同步数据,麻烦得很;Token 就没这个烦恼,你手里的通行证全平台通用,不管哪个服务器,只要能验过真伪就直接放行,天生就适配分布式。

说白了,Token 就是为了解决 HTTP 无状态的痛点,给前端和后端之间搭了一座信任的桥梁,不用每次都输账号密码,不用服务器存储大量用户状态,还能完美适配现在的分布式项目。

抱歉,评论功能暂时关闭!