术语图鉴/后端基础/会话
←→切换Esc返回

会话 Session

你可能会说

帮我处理一下会话,我不太确定最佳实践是什么。

从你登录到退出的这段时间里,服务器记住你身份的一种机制。

从你登录到退出的这段时间里,服务器记住你身份的一种机制。和 Token 类似,但信息存在服务器那边。

也常被叫作Session

生活类比

像酒店入住——前台(服务器)登记了你的信息,你在店期间(会话)随时报房号就行。

🎮 动手试试

SessionID: abc123...
✓ 有效 — 用户已登录
选择题选择一个你认为最合适的答案

关于「会话」,以下哪个描述最准确?

你可以这样告诉 AI

帮我用 express-session 实现会话管理:登录后创建 session 存用户信息,退出时销毁,会话存 Redis。

容易混淆?这样区分

会话 Session≠
Token / 令牌 Token (JWT)

Session 把用户信息存在服务器内存中,Token 把信息编码在令牌里由客户端保存。Session 更重但可控,Token 更轻但无法主动失效。

什么时候用

服务端管理登录态

使用传统服务端渲染框架(如 Express + Passport)时,Session 是管理用户登录状态最简单直接的方式。

和 AI 协作时

想让 AI 帮你实现 Session 登录时,直接说「帮我用 express-session 实现登录:登录成功后存 userId 到 session,退出时销毁 session」。

什么时候不用

分布式微服务架构

多台服务器之间共享 Session 需要额外引入 Redis 等共享存储,此时用无状态的 JWT Token 更简单。

与用户登录无关的项目

如果你的应用不需要登录、所有功能匿名可访问,Session 机制对你没有意义。

组成结构 · Anatomy

1
核心概念Core

从你登录到退出的这段时间里,服务器记住你身份的一种机制。和 Token 类似,但信息存在服务器那边。

2
实际表现In Practice

像酒店入住——前台(服务器)登记了你的信息,你在店期间(会话)随时报房号就行。

3
与 AI 的关联AI Context

和 AI 沟通时提到「session 过期了」,就是服务器那边的登记失效了,要重新登录。

典型使用场景

管理用户会话
告诉 AI「帮我加 session 管理,用户登录后保存会话信息到 Redis,30 分钟无操作自动过期」
想弄懂概念时
告诉 AI「用大白话给我解释什么是会话,举个生活中的例子」

延伸阅读