当前位置: 首页 > news >正文

cookie token sessionid之间有什么关系

组合方式 角色分工 适用场景
SessionID + Cookie SessionID 是身份凭证,Cookie 是传输载体 传统服务端渲染网站
Token + Cookie Token 是身份凭证,Cookie 是传输载体 前后端分离(追求安全)
Token + LocalStorage Token 是身份凭证,LocalStorage 是存储载体 前后端分离(简单场景)

前两个场景中服务器返回都是放在响应头,setcookie:sessionid=或token,所以请求头也是cookie:sessionid=或token
第三种是仅限token,放在响应体中如{code:200, token:"xxx"}),然后是存放在LocalStorage,请求时通过程序从LocalStorage取出变成请求头Authorization: Bearer xxx
sessionid和token可以理解为变量名:身份令牌或凭证
JWT是一种格式,签名格式,一般给token使用

cookie是任何时候都会和服务器传输,localstorage是看情况
需要和服务器交互(身份验证、状态同步)→ 选 Cookie(尤其是敏感凭证);
纯前端使用、无需传给服务器、数据量稍大 → 选 LocalStorage(仅限非敏感数据);
敏感数据(登录凭证)→ 优先选带 HttpOnly/Secure 的 Cookie,绝对不选 LocalStorage;
需要自动过期 → 选 Cookie,LocalStorage 需手动实现过期逻辑(麻烦)。

场景 1:SessionID 通过 Cookie 传输(最典型)
这里的 “传输” 分两步,全程由浏览器自动完成,不用开发者手动干预
服务器→客户端(传输 SessionID):你登录美业网站成功后,服务器生成 SessionID(如sess_123),然后在响应头里加Set-Cookie: sessionid=sess_123; Path=/ —— 这就是服务器把 SessionID “传输” 给客户端的过程(通过响应头的 Cookie 字段)。浏览器收到后,自动把 SessionID 存在 Cookie 里,完成 “接收”。
客户端→服务器(传输 SessionID):你点击 “我的订单”,浏览器发请求时,会自动把 Cookie 里的sessionid=sess_123放到请求头的 Cookie 字段里 —— 这就是客户端把 SessionID “传输” 给服务器的过程。服务器收到请求头,取出 SessionID,验证后返回你的订单数据。
✅ 关键:这个 “传输” 是自动的,开发者不用写任何代码,浏览器帮你完成 “搬运”。

场景 2:Token 通过 Cookie 传输(和 SessionID 逻辑一致)
“传输” 过程和 SessionID 完全一样,只是凭证换成了 Token:
服务器生成 JWT Token(如eyJhbGciOiJIUzI1Ni...),通过响应头Set-Cookie: token=xxx; HttpOnly; Secure传输给浏览器;
浏览器后续请求时,自动把 Token 通过请求头的 Cookie 字段传输给服务器。
✅ 特点:同样是自动传输,且加了HttpOnly后,Token 不会被 JS 窃取,更安全。

场景 3:Token 通过 LocalStorage + 请求头 传输(手动传输)
LocalStorage 本身不能直接传输数据(它只是前端的 “储物柜”),所以需要结合请求头完成 “传输”,这个过程需要开发者手动写代码:
服务器→客户端(传输 Token):登录成功后,服务器不通过 Cookie,而是把 Token 放在响应体里返回(如{code:200, token:"xxx"}) —— 这是服务器把 Token “传输” 给客户端的过程(通过响应体)。前端收到后,用localStorage.setItem("token", "xxx")把 Token 存在 LocalStorage 里(只是 “存起来”,还没完成 “向服务器传输”)。
客户端→服务器(传输 Token):你请求 “我的测肤报告” 时,前端需要手动从 LocalStorage 取出 Token,然后放到请求头里(如Authorization: Bearer xxx) —— 这是开发者手动把 Token “传输” 给服务器的过程(通过请求头的自定义字段)。服务器收到请求头,取出 Token 验证,才返回数据。
✅ 关键:这个 “传输” 是手动的,LocalStorage 只负责 “存 Token”,真正的 “传输” 靠请求头完成。

http://www.rkmt.cn/news/81173.html

相关文章:

  • 地方产投集团数字化平台建设实战:从内控管理到决策赋能(璞华公开课第5期活动回顾)
  • 2025年12月河南美术高考培训机构综合实力推荐 - 深度智识库
  • 2025宝宝学坐椅制造厂TOP5权威推荐:甄选儿童坐椅生产商 - 工业品牌热点
  • Vue浅响应式如何解除深层响应式的性能问题?适用场景有哪些?
  • 2025年上海长宁区口腔机构实力榜:长宁区种植牙、长宁区牙齿矫正、长宁区根管治疗、长宁区牙齿贴面、长宁区无痛补牙、长宁区无痛拔牙、领域四家机构凭技术与口碑出圈 - 海棠依旧大
  • 2025年12月弱电安防系统,入侵报警安防系统,出入口安防系统厂商推荐,实测稳定性与兼容性!​ - 品牌鉴赏师
  • 社区管理行业地埋站品牌选哪家2025年优质品牌推荐 - 优质品牌商家
  • 【JUnit实战3_32】第二十章:用 JUnit 5 进行测试驱动创建(TDD)(上)——将非 TDD 项目改造为 TDD 项目
  • 交通设施行业公路波形护栏优质公司推荐指南场景适配选择 - 优质品牌商家
  • 2025高速护栏优质品牌评测报告-全维度采购参考 - 优质品牌商家
  • 晶体炉装置制造厂哪家售后好?晶体炉装置加工厂哪家更值得选? - 工业品牌热点
  • web格式化
  • 吴恩达发布论文自动审阅器,ICLR评审接近人类水平
  • 佛山家具厂实测:口碑背后的真实服务水平究竟如何? - 真知灼见33
  • sglang v0.5.5.post3 框架图
  • 搞定多模态微调只需一杯咖啡的时间?FC DevPod + Llama-Factory 极速实战
  • 石英玻璃退火点测试仪比较可靠的企业、信誉好的供应商 - 品牌推荐大师
  • hook
  • 安防监控进入“云边端”协同时代,EasyCVR视频中台将扮演什么角色?
  • 2025年上海外国友人就业证代申请公司排行榜,外国友人办就业 - mypinpai
  • 视频汇聚平台EasyCVR助力农场实现全场景可视化管理
  • Android Studio安装 - 教程
  • 2025气密性检测设备大型厂家TOP5权威推荐:口碑好的厂家 - mypinpai
  • 升格 / 降格:一种关注成员生命周期的重构方式
  • mac安装cursor,提示“已损坏,无法打开。 您应该将它移到废纸篓”
  • GEO系统源码私有化部署,不看灰豚GEO拒不合作! - 阿里AI专家
  • 高低温湿热试验箱实力厂家推荐巨亚,售后较好且性价比高的行业标杆品牌 - 品牌推荐大师
  • 2025年靠谱的PLC实训设备装置/单片机实训设备/单片机实训装置厂家推荐 - 品牌推荐大师1
  • 2025温控系统/制冷设备/冷水机/制冷机哪家好?口碑厂家推荐品牌值得了解 - 品牌推荐大师1
  • 详细介绍:Axios 全面详解