news 2026/5/15 14:25:50

100 天学会爬虫 · Day 15:Session、Cookie、Token 到底有什么区别?一篇彻底讲清

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
100 天学会爬虫 · Day 15:Session、Cookie、Token 到底有什么区别?一篇彻底讲清

在学习爬虫和反爬的过程中,很多人都会被这三个概念反复“劝退”:

  • Cookie

  • Session

  • Token

常见困惑包括:

  • Cookie 和 Session 是不是一回事?

  • Token 是不是就是 Cookie?

  • 为什么有的接口要 Token,有的只要 Cookie?

  • 登录一次后,这些东西到底谁在起作用?

如果你也有类似疑问,那么 Day 15 这篇文章,就是专门为你准备的。

今天我们不堆概念,而是从服务器视角 + 爬虫实战视角,把这三者一次讲透。


🔍 一、先给结论(非常重要)

先记住这三句话,后面再解释:

Cookie:身份的“存放载体”
Session:服务器维护的“会话状态”
Token:用于接口校验的“访问凭证”

三者不是对立关系,而是协作关系


🧠 二、Cookie 到底是什么?(最容易被误解)

📌 Cookie 的本质

Cookie 是服务器存放在客户端的一小段数据,用于:

  • 标识访问者

  • 维持状态

  • 绑定身份

例如:

sessionid=abc123;
uid=9527;
csrf_token=xxx;

📌 Cookie 做了什么?

当你再次访问网站时:

  • 浏览器自动携带 Cookie

  • 服务器通过 Cookie 识别你

  • 判断你是否登录、是否有权限

👉Cookie 本身不“存状态”,它只是“带标识”。


🧭 三、Session 是什么?为什么爬虫必须理解它?

📌 Session 的本质

Session 是服务器端维护的一段会话数据。

它通常以这样的形式存在:

  • Session ID(一个随机字符串)

  • Session 数据(登录状态、权限、时间等)

Session ID 往往就存放在 Cookie 里


📌 一个完整的流程是这样的:

  1. 你第一次访问网站

  2. 服务器创建一个 Session

  3. 把 Session ID 写入 Cookie

  4. 浏览器保存 Cookie

  5. 后续请求自动携带 Cookie

  6. 服务器根据 Session ID 找到对应 Session

📌 所以你可以这样理解:

Cookie 是钥匙,Session 是门后的房间。


📌 爬虫中为什么推荐使用 Session(requests)?

因为它能:

  • 自动保存 Cookie

  • 自动携带 Cookie

  • 维持请求之间的关联

  • 更像真实浏览器

session = requests.Session() session.get(url)

这是“工程级爬虫”的基本操作。


🔐 四、Token 是什么?它和 Cookie 有什么不同?

📌 Token 的本质

Token 是一种“显式的访问凭证”,常用于:

  • API 接口

  • 前后端分离系统

  • 移动端 / 小程序

  • 微服务架构

常见形式包括:

Authorization: Bearer xxxxx

或:

{ "token": "xxxxx" }

📌 Token 和 Cookie 的最大区别

对比点CookieToken
存放位置浏览器自动管理手动携带
主要用途网站会话接口鉴权
自动性自动不自动
使用场景Web 页面API / App
是否跨域受限制更灵活

📌 为什么很多接口“必须 Token”?

因为:

  • 接口不依赖浏览器

  • 不希望用 Cookie

  • 希望前后端完全解耦

  • Token 更适合权限控制

所以你会看到:

  • 页面访问:Cookie

  • 接口请求:Token


🧩 五、三者在真实网站中的“协作关系”

真实网站中,三者经常一起出现

🔁 常见组合 1:Cookie + Session

  • 传统网站

  • CMS 系统

  • 管理后台


🔁 常见组合 2:Cookie + Token

  • Cookie 保存 token

  • 请求接口时从 Cookie 中读取 token

  • 接口用 token 校验


🔁 常见组合 3:Session + Token

  • 登录后生成 token

  • token 绑定 Session

  • token 用于接口访问


📌 所以一定要记住:

不要孤立看 Cookie / Session / Token,而要看“整体身份体系”。


🚨 六、新手最常见的 6 个错误认知


❌ 误区 1:有 Cookie 就一定登录了

实际上 Cookie 可能是匿名 Session。


❌ 误区 2:Token 就是 Cookie

Token 只是可能存放在 Cookie 里。


❌ 误区 3:Session 在客户端

Session 在服务器,客户端只有 ID。


❌ 误区 4:接口失败一定是参数问题

很多时候是 Token / Cookie 不对。


❌ 误区 5:复制 Cookie 就能长期用

Cookie / Token 都可能过期。


❌ 误区 6:不用理解,能跑就行

短期可以,长期必翻车。


🛠 七、爬虫实战中该怎么应对?(经验总结)

给你一套非常实用的判断流程

  1. 先看接口是否依赖 Cookie

  2. 再看是否存在 Token 字段

  3. 分析 Token 从哪里来(接口 / Cookie / JS)

  4. 用 Session 管理 Cookie

  5. 用 Headers 显式携带 Token

  6. 观察过期时间与刷新逻辑

这套流程可以应对90% 的身份类反爬问题


📌 八、Day 15 的关键认知总结

请记住这段话:

Cookie 解决“你是谁”
Session 解决“你当前的状态”
Token 解决“你有没有权限访问这个接口”

理解了这三点,
你就真正跨过了爬虫学习中的一个巨大门槛


✅ 总结

今天你彻底理清了:

✔ Cookie 的真实作用
✔ Session 的服务器逻辑
✔ Token 的接口鉴权意义
✔ 三者之间的关系与区别
✔ 常见误区与正确理解方式
✔ 爬虫中处理身份问题的整体思路

从 Day 15 开始,你已经具备了理解中高级爬虫登录与权限体系的能力

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 6:25:05

ARM 汇编指令:B

ARM 汇编指令:B 核心含义 B 是 Branch 的缩写,意思是 无条件跳转。它会让程序的执行流程立即、无条件地跳转到指定的目标地址,继续执行。它是最基础、最常用的指令之一。 基本语法 B labellabel: 一个符号(标签)&…

作者头像 李华
网站建设 2026/5/12 6:25:24

高灵敏快速检测 Hg²⁺:Amplite™荧光法汞离子定量试剂盒详解

Amplite™ 荧光法汞离子定量试剂盒是一种基于先进荧光探针技术的检测工具,专门用于快速、灵敏、定量地检测水溶液样品中的汞离子。该试剂盒使用Mercury Lite™ 590探针,其核心原理是“荧光增强”反应:当探针特异性地识别并结合Hg⁺后&#xf…

作者头像 李华
网站建设 2026/5/12 0:12:35

《游戏场景下伪造内容的识别与处置技术指南》

当AI生成技术精准复刻游戏官方的行文肌理、名人的神态声线,甚至捏造裹挟情绪的诽谤言论,这些伪造内容不仅在排版、术语、语气上与真实信息高度趋同,更能精准捕捉玩家的关注痛点—从版本更新的核心权益到名人代言的情感共鸣,再到针对性的人格诋毁,其迷惑性让传统人工核验陷…

作者头像 李华
网站建设 2026/5/13 8:51:14

计算机Java毕设实战springboot基于顾客偏好的唯品会推荐系统设计与实现电商平台个性化推荐中的精准度与转化效率-【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华