惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
F
Fortinet All Blogs
B
Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Security Blog
Microsoft Security Blog
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
腾讯CDC
小众软件
小众软件
G
Google Developers Blog
V
Visual Studio Blog
罗磊的独立博客
GbyAI
GbyAI
V
V2EX
大猫的无限游戏
大猫的无限游戏
H
Help Net Security
L
LangChain Blog
Engineering at Meta
Engineering at Meta
量子位
The GitHub Blog
The GitHub Blog
博客园 - 司徒正美
WordPress大学
WordPress大学
B
Blog RSS Feed

回忆中的明天

自己写一个Web 端的MiMo TTS Chat,方便实现文本转语音,API限免中 · 回忆中的明天 NVIDIA NIM 开发平台,提供超多免费大模型 · 回忆中的明天 iTranslation 简单快捷的翻译软件,支持数十种语言互译 · 回忆中的明天 国内外免费大模型平台,支持 API 调用的超多免费大模型 · 回忆中的明天 SiliconFlow 硅基流动一站式大模型云服务平台,提供超多免费大模型 · 回忆中的明天 Xiaomi MiMo 小米大模型团队开发的大语言模型,开源限免中…… · 回忆中的明天 BigModel 智谱大模型开放平台,提供超多自研免费大模型 · 回忆中的明天 OpenRouter 模型聚合平台,提供超多免费模型使用 · 回忆中的明天 iReader 英语点读学习系统,译林小学英语在线点读 · 回忆中的明天 ZenMux 企业级大模型聚合平台,提供免费试用模型 Gemini 3 Pro · 回忆中的明天 英语学习,新概念英语在线点读、全文朗读学习系统 · 回忆中的明天 iGSTT(Gemini STT) 开源免费的语音转文本(STT)的命令行工具 · 回忆中的明天 Python 项目打包,并上传到 PyPI,分享项目 · 回忆中的明天 iGTTS(Gemini TTS) 开源免费的文本转语音(TTS)的命令行工具 · 回忆中的明天 iChat(AI Chat) 智能聊天工具,支持 MiMo、DeepSeek、Gemini、Grok、OpenAI和自定义AI · 回忆中的明天 NanoPi R2S 安装 Debian 固件系统,旁路由网络代理内网转发,决解直连网络卡顿 nftables · 回忆中的明天 NanoPi R2S Armbian Linux 旁路由网络代理内网转发,决解直连网络卡顿 iptables · 回忆中的明天 sing-box rule-set · 回忆中的明天 Xcode 最全最实用的快捷键列表 · 回忆中的明天 SwiftUI 中的@State、@Bindable和@Binding · 回忆中的明天 免费的图床服务器-GitHub Pages · 回忆中的明天 A Free Native Image Uploading Tool for macOS · 回忆中的明天 免费的图床服务器-Cloudflare-R2 · 回忆中的明天 图传 (iUploader) - macOS 免费原生图床上传利器 · 回忆中的明天 本地无法加载托管到Cloudflare中的图片等资源,权限错误403 · 回忆中的明天 国内、外免费公共的DNS,支持的DoH,防止污染、篡改的问题 · 回忆中的明天 macOS 系统下载和安装 · 回忆中的明天 使用 CURL 命令调试和诊断网络问题,网站请求测速 · 回忆中的明天 WARP Beta for macOS 支持新协议 MASQUE · 回忆中的明天 2024年自用国外靠谱的 VPS 服务器推荐 · 回忆中的明天
简述 Cookie、Token、JWT、Session · 回忆中的明天
2020-08-25 · via 回忆中的明天

原文:https://ichochy.com/posts/java/20200825.html


早期互联网只是用来访问查看,不需要关心谁在访问查看。HTTP是一种无状态的协议,每个请求都是完全独立的,服务端无法确认当前访问者的身份信息,为了标示用户,就出现了Cookie,而CookieTokenJWT 都是用来标示用户的。

如:iChochy用户发起访问,服务端为了进行会话跟踪,会为当前用户的访问会话(Session)生成一个会话ID(Session ID),并通过Set Cookie方式,将Session ID发送给用户的客户端浏览器。客户端自动识别服务端发来的Cookie信息,就会存储在客户端。再次请求时,都带上这个Cookie信息来标示当前用户,服务端自动识别到Cookie信息,就可以判断具体是哪个用户了。

Cookie

Token

Token是一个令牌,用户登录成功后服务端会生成一个令牌,用来关联会话(Session)信息,如同Cookie,只是需要手动传递。

JWT

JWTJSON Web Token的简称,可以理解为是Token的升级版本,用户登录成功后服务端会生成的一个很长的字符串,中间用点(.)分隔成三个部分,内容包含Header.Payload.SignatureJWT的不同点就是可以携带具体的用户信息,不再只是标示ID。

Session

Session就是服务端生成的用户会话信息,一般就是用户信息,存储在服务端

对比CookieTokenJWT

不同点 Cookie Token JWT
标准 系统默认 自定义 自定义
用户标示 包含 包含 包含
跨域 不支持 支持 支持
具信信息 不包含 不包含 包含

关系

关系如下图: HTTP

总结

CookieTokenJWT都是请求无状态的一种补充,用来标示用户,只是侧重点不同。Cookie是最原始的系统默认标准,前后端都会自动处理Cookie信息,不需要过多的干预。而TokenJWT都是标准的升级和自定义,Token出现解决了Cookie不能跨域的问题,而JWT可以携带具体的用户信息,将用户信息存储在客户端,解决了分布式用户信息存储。

**Session**是用户会话的具体信息,一般就是用户信息,如ID、Role、Auth等。