Cookie 与 Session 入门:网站是怎么记住你登录状态的?

举报
yd_85202127 发表于 2026/11/14 12:03:04 2026/11/14
【摘要】 登录一次就能记住你,靠的是 Cookie 和 Session 的配合:Cookie 是浏览器保管的通行证编号,Session 是服务器端的会话记录。本文讲清它们的区别和一次登录的完整流程。

登录一个网站,明明只输了一次账号密码,刷新页面、点开别的栏目,它却还记得你是谁;关掉浏览器再打开,又要重新登录。网站到底是怎么记住你的?答案就是最常见的两个词:Cookie 和 Session。这篇笔记只讲最核心的三件事:Cookie 是什么、Session 是什么、它们是怎么配合工作的。

一、Cookie:浏览器帮你保管的小纸条

HTTP 协议本身是“无状态”的:服务器处理完一次请求就忘了你,下一次请求对它来说就是一个陌生人。为了让网站记住你,服务器会在你第一次登录成功时,通过响应头 Set-Cookie 发给你一张“小纸条”,浏览器把它存下来。之后每次访问这个网站,浏览器都会在请求头里带上 Cookie,服务器一读就知道是你。

Cookie 存在浏览器这边,特点有三点:第一,有大小限制,一个 Cookie 通常只有几 KB;第二,可以设置过期时间,到期自动失效;第三,你可以在浏览器设置里查看甚至清空它。

二、Session:服务器那边的会话记录

如果把登录状态都写进 Cookie,任何人拿到你的 Cookie 就等于拿到了你的身份,并不安全。于是有了 Session:真正的状态存在服务器这边,浏览器只保管一个随机生成的编号,叫 Session ID。

登录成功后,服务器新建一条 Session 记录,里面保存你的用户名、登录时间等信息,并把 Session ID 放在 Cookie 里发给浏览器。之后每次请求,服务器用 Session ID 查到对应的记录,就确认了你的身份。

三、它们是怎么配合工作的

一次登录的完整流程是这样的:

  1. 你输入账号密码提交登录;
  2. 服务器验证通过,新建 Session,并把 Session ID 写进 Cookie 返回;
  3. 浏览器保存这个 Cookie,之后每次请求都自动带上它;
  4. 服务器根据 Session ID 找到会话记录,确认你已经登录;
  5. 你退出登录或 Session 过期后,这张“通行证”就失效了。

四、一句话记住它们的区别

对比 Cookie Session
存在哪里 浏览器(客户端) 服务器端
存什么 少量数据,常用来存 Session ID 用户的登录状态等会话数据
安全性 相对较低,别存密码等敏感信息 相对较高,数据不经过浏览器
失效方式 到期自动失效,也可手动清空 超时未活动或退出登录后失效

再补充两条安全习惯:给 Cookie 加上 HttpOnly,能防止前端脚本读取它,降低被盗用的风险;重要的站点尽量走 HTTPS,避免 Cookie 在传输中被截获。

一句话总结:Cookie 是浏览器替你保管的“通行证编号”,Session 是服务器那边对照编号的“登记表”,两者配合,网站才能在一次登录后一直记得你。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。