网站首页 > 技术教程 正文
Cookie、Session、Token到底有什么区别?产品经理也该懂!这篇文章用最简单的方式讲清楚三者的原理和应用场景,读完你就能和技术同事聊得上认证机制了。
Cookie
定义
存储在用户浏览器中的小数据文件(通常单条Cookie<=4KB),包含键值对,常用于记录用户偏好、登录凭证、购物车商品、用户在网站上的语言选择等少量数据。
工作原理
服务器通过响应头中的Set-Cookie字段向浏览器发送Cookie,浏览器会在后续请求中将相应Cookie包含在请求头中发送给服务器,服务器可读取其中信息来识别用户或提供个性化服务。
咱们可以通过浏览器控制台查看到Cookie信息:
前端调用后端接口时也会带上cookie信息:
Session
定义
服务器端用于跟踪用户会话的机制,服务器为每个用户会话创建一个唯一的Session对象,在其中存储用户相关的数据,如用户登录状态、购物车信息。
工作原理
用户首次访问服务器时,服务器创建Session并分配唯一的SessionID,通常通过Cookie将SessionID发送到客户端。客户端后续请求都携带此ID,服务器据此识别用户并获取其Session数据
Token
定义
一种由服务器生成并颁发给客户端的字符串,用于验证用户身份和授权访问,常用于实现单点登录、第三方登录等功能。
工作原理
服务器验证用户信息后生成Token并返回给客户端。客户端后续请求将Token发送给服务器,服务器验证Token的有效性来确定用户身份和权限,决定是否允许访问资源。
类比一下
公司门卫其实无法记住所有同事的名字,但是又要确认身份才能放你进公司,咋办呢?两个办法:1 员工自己刷工卡(携带Cookie);2 外来人员主动向门卫自报家门和来访目的,然后保安大哥给你张临时出入证(出入证相当于Cookie,出入证中的信息相当于SessionID);
那Token呢,能怎么类比?授权书有见过或者用过吧,这就是现实中由公司给你颁发有指定权限范围、有效期的Token,授权书上的公章和法定代表人签名可以理解为Token签名;办事时只要带上这个授权书,办事人员就认可你的身份啦~
总结
Cookie、Session和Token的主要区别在于:Session主要在服务器端存储数据,Cookie在客户端存储数据,Token主要用于身份验证和授权,通常不存储大量用户数据。
我们在淘宝下单时,淘宝需要判断我们是否登录并有权限购物,这是通过Session实现的;而淘宝首页为我们推荐的商品,是通过获取我们的Cookie中的浏览记录得出的。我们使用QQ登录其他网站时,网站是通过获取QQ返回的Token来验证我们的身份并登录的。
HTTP协议是一种无状态协议,即每次服务端接收到客户端的请求时都是一个全新的请求(是的,看起来就跟失忆了一样,但是这确实可以降低服务器的记忆负担,提升处理效率),服务器并不知道客户端的历史请求记录,Session和Cookie的主要目的其实就是为了弥补HTTP的无状态特性。
本文由 @肖沐 原创发布于人人都是产品经理。未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
猜你喜欢
- 2025-10-02 阿里云国际站ACS:我能否通过阿里云ACS限制特定IP访问?
- 2025-10-02 PPT别再翻车:WPS / PowerPoint 常见问题与超实用修复指南
- 2025-10-02 协作机器人HMI优化指南:从示教器到控制软件的可用性与性能升级
- 2025-10-02 数据防泄密的10种措施分享,守护公司信息安全
- 2025-10-02 阿里云国际站ACS:阿里云ACS如何帮助我减少权限管理中的风险?
- 2025-10-02 手机来消息时不提醒?原来是这4个开关没有打开,教你快速排查
- 2025-10-02 12 种最常见的网络攻击类型_几种常见的网络攻击
- 2025-10-02 【网络安全】什么是权限钓鱼(Permission Phishing)?
- 2025-10-02 阿里云国际站ACS:使用阿里云ACS如何实现快速、灵活的权限调整?
- 2025-10-02 为什么你的数据用不起来?可能是缺了这关键一步
欢迎 你 发表评论:
- 10-23Excel计算工龄和年份之差_excel算工龄的公式year
- 10-23Excel YEARFRAC函数:时间的"年份比例尺"详解
- 10-23最常用的10个Excel函数,中文解读,动图演示,易学易用
- 10-23EXCEL中如何计算截止到今日(两个时间中)的时间
- 10-2390%人不知道的Excel神技:DATEDIF 精准计算年龄,告别手动算错!
- 10-23计算工龄及工龄工资(90%的人搞错了):DATE、DATEDIF组合应用
- 10-23Excel中如何计算工作日天数?用这两个函数轻松计算,附新年日历
- 10-23怎样快速提取单元格中的出生日期?用「Ctrl+E」批量搞定
- 最近发表
-
- Excel计算工龄和年份之差_excel算工龄的公式year
- Excel YEARFRAC函数:时间的"年份比例尺"详解
- 最常用的10个Excel函数,中文解读,动图演示,易学易用
- EXCEL中如何计算截止到今日(两个时间中)的时间
- 90%人不知道的Excel神技:DATEDIF 精准计算年龄,告别手动算错!
- 计算工龄及工龄工资(90%的人搞错了):DATE、DATEDIF组合应用
- Excel中如何计算工作日天数?用这两个函数轻松计算,附新年日历
- 怎样快速提取单元格中的出生日期?用「Ctrl+E」批量搞定
- Excel日期函数之DATEDIF函数_excel函数datedif在哪里
- Excel函数-DATEDIF求司龄_exceldatedif函数计算年龄
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)

本文暂时没有评论,来添加一个吧(●'◡'●)