额,这就属于你多想了,这算是 HTTP 的特性,因为其是无状态的,换句话说,如果没有 “Token” 一类的标识来进行区分,那对于服务器来说,每个请求都是 “陌生”。 如果没有 “Token” 服务器并不能知道,前一个请求跟后一个请求有什么关系,所以才需要每次都发送 Token 来证明:“你是你”。 况且,认证一个 Token 对于服务器来说,开销都很小。而对于客户端来说,传输的 Token 大小也没有什么可值得优化的。 对于类似于 JWT 的认证方式而言,甚至都不需要查库就能验证身份,而其他方式的也可通过缓存来减少 Token 的验证时间。 > 还有其他更优越的方式吗? 有,使用 Socket。这在浏览器环境下,有 WebSocket 可用,他的连接是有状态的,除非重新连接(一般发生的页面刷新后),当然,你也可以把它放到 Web Worker 里面,这样刷新页面也不影响,要发送请求的时候就从页面 postMessage 到 Worker 里面,然后 Worker 里面的 WS 再向服务端发送,但是,这样带来的麻烦就会变多了。 这些都是花活了,对于用户认证这个业务本身来讲,一般不太需要刻意的去做优化。