你可能会说
帮我处理一下会话,我不太确定最佳实践是什么。
从你登录到退出的这段时间里,服务器记住你身份的一种机制。
从你登录到退出的这段时间里,服务器记住你身份的一种机制。和 Token 类似,但信息存在服务器那边。
生活类比
像酒店入住——前台(服务器)登记了你的信息,你在店期间(会话)随时报房号就行。
🎮 动手试试
关于「会话」,以下哪个描述最准确?
你可以这样告诉 AI
帮我用 express-session 实现会话管理:登录后创建 session 存用户信息,退出时销毁,会话存 Redis。
Session 把用户信息存在服务器内存中,Token 把信息编码在令牌里由客户端保存。Session 更重但可控,Token 更轻但无法主动失效。
服务端管理登录态
使用传统服务端渲染框架(如 Express + Passport)时,Session 是管理用户登录状态最简单直接的方式。
和 AI 协作时
想让 AI 帮你实现 Session 登录时,直接说「帮我用 express-session 实现登录:登录成功后存 userId 到 session,退出时销毁 session」。
分布式微服务架构
多台服务器之间共享 Session 需要额外引入 Redis 等共享存储,此时用无状态的 JWT Token 更简单。
与用户登录无关的项目
如果你的应用不需要登录、所有功能匿名可访问,Session 机制对你没有意义。
从你登录到退出的这段时间里,服务器记住你身份的一种机制。和 Token 类似,但信息存在服务器那边。
像酒店入住——前台(服务器)登记了你的信息,你在店期间(会话)随时报房号就行。
和 AI 沟通时提到「session 过期了」,就是服务器那边的登记失效了,要重新登录。