news 2026/5/26 9:33:30

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/23 9:29:00

爆肝整理,自动化测试框架搭建-分层架构设计模式,一篇打通...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、自动化测试框架…

作者头像 李华
网站建设 2026/5/12 21:23:19

C#高效操作Excel的优化秘籍

目录 一、C# 操作 Excel 速度慢的核心原因 二、针对性解决方案 方案 1:替换为纯托管高性能类库(核心优化) 示例 1:EPPlus 批量读取 / 写入 Excel 示例 2:NPOI 批量写入 Excel(支持.xls/.xlsx&#xff…

作者头像 李华
网站建设 2026/5/19 11:42:34

双栈网络中IPv6正常而IPv4失败的排障全过程

现象概述 终端显示网络已连接、无线侧无明显告警,但IPv4 全协议栈访问失败(ICMP ping、TCP 连接、HTTP 访问均异常),而 IPv6 访问完全正常。该现象核心指向:IPv4 与 IPv6 在地址获取、二层邻居发现、三层转发路径、安全策略/NAT 处理等环节存在差异化故障,需针对 IPv4 协…

作者头像 李华
网站建设 2026/5/1 11:40:17

Springboot社会工作机构管理系统w19724cv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表项目功能用户,社会工作者,机构服务,机构活动,报名订单,取消报名,取消活动,交流论坛,投诉反馈开题报告核心内容基于SpringBoot的社会工作机构管理系统开题报告一、选…

作者头像 李华
网站建设 2026/5/22 18:42:53

传统算法vs大模型应用开发工程师,零基础转行选谁?

聊到AI工程师,很多人可能会觉得都是写代码、搞模型的“技术大佬”,但其实这里面分两大“门派”:传统算法工程师和AI大模型应用开发工程师。 简单说,一个主打“让模型变聪明”,一个专攻“让聪明的模型有用”&#xff0c…

作者头像 李华