最近在社区看到有人问「Token和Cookie的区别」,评论区一片混乱——有人在讲JWT,有人在讲GPT的上下文,两拨人根本没在讨论同一件事。
根源在于:Token这个词在不同领域含义完全不同。今天把这几个概念分开讲清楚。
先说结论
搜「Token和Cookie区别」的人,大多是Web开发背景,想了解身份验证机制。但如果你最近刚接触AI,你心里想的Token其实是另一个东西。这两个Token只是同名,本质毫无关联。
一、AI领域的Token(词元)
这是大语言模型处理文本的最小单位。文本在送入模型前会被分词器切成Token序列,模型逐个处理这些Token来理解和生成内容。
- 用途:计量模型的输入输出量,决定API费用
- 例子:「你好」≈ 3~4 Token;「Hello」= 1 Token
- 和身份验证没有任何关系
二、Web Token(身份令牌)
Web开发里的Token是身份验证凭证。用户登录后,服务器颁发一个Token,后续请求带上这个Token证明「我是谁」。
最常见的形式是 JWT(JSON Web Token):一串Base64编码的字符串,包含用户信息和签名,格式长这样:
eyJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOjEyM30.abc123
- 用途:无状态身份认证,替代Session
- 存储位置:通常存在 localStorage 或 Cookie 里
- 有效期:可以设置过期时间
三、Cookie
Cookie是浏览器存储数据的机制,是一小段键值对,随请求自动发送给服务器。
- 用途:存用户偏好、购物车、Session ID,也可以存Web Token
- 关键特性:可以设置 HttpOnly(JS无法读取)、Secure(仅HTTPS)
- 和AI Token完全不同领域
Cookie和Web Token的关系:Cookie是存储容器,Web Token是存储内容之一。Token可以放在Cookie里,也可以放在请求头的 Authorization 字段里。
四、API Key(密钥)
API Key是服务提供商颁发给开发者的访问凭证,长期有效,用于标识「哪个账号在调用」。
- 例子:OpenAI、Anthropic颁发的
sk-...字符串 - 用途:计费、权限控制
- 安全要求:绝对不能暴露在前端代码里
对比一览
| 概念 | 所属领域 | 本质 | 用途 |
|---|---|---|---|
| AI Token(词元) | AI/NLP | 文本分词单元 | 计量模型处理量 |
| Web Token(JWT等) | Web开发 | 身份凭证字符串 | 用户认证授权 |
| Cookie | 浏览器 | 键值存储机制 | 持久化少量数据 |
| API Key | 开发者服务 | 访问密钥 | 接口调用鉴权 |
一句话记忆法
- AI Token:模型把文字切成的「碎片」,用来算钱
- Web Token:登录后服务器给你的「通行证」
- Cookie:浏览器贴在请求上的「便利贴」
- API Key:你在服务商那边的「身份证」
四个概念都叫「令牌/凭证」类的词,但分属不同技术栈,搞清楚语境再搜索,能省掉很多困惑。
你是在哪个场景下遇到这几个概念的?欢迎留言 ![]()