cookie、session和token的区别
cookie、session和token的区别
cookie:
· 表示用户身份,一小段文本信息
· 服务端生成,发送客户端保存,正在客户端头信息中,可能被用户篡改。
· 相当于钥匙,服务端用于验证钥匙是不是正确的。
· cookie格式:key:value;key:value;key:value;
session:
· 标识用户用户身份
· 服务端生成,服务端保存(产生sessionID,会发送sessionID给客户端在cookie里面),占用内存,增大服务器负担
· 请求带上sessionID,服务器通过sessionID找到对应session
· 常用redis
token:
· 标识用户身份一串字符串
· 服务端加密生成的令牌,保存在客户端
· 客户端请求带上token,服务端对token解密对比即可验证身份和密码
· Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。
cookie和session的区别:
2、存储容量不同:单个cookie保存数据小于等于4kb,一个站点最多保存20个cookie;session没有上限,但是由于服务器内存性能考虑,session不要存太多东西,并有删除机制
3、存取方式不同:cookie只能保存ASCII字符串;session能存取任何类型的数据
4、隐私策略不同:cookie是对客户端是可见的,可以分析存放在本地的cookie并进去cookie欺骗;session存储在服务器上,对于客户端是透明的,不存在敏感信息泄露的风险
5、服务器压力不同:
>>>session是保存在服务端,每隔用户都会产生一个session。加入并发访问的用户太多,会产生很多的session,对服务器是一个很大的负担,耗费大量内存
>>>cookie保管在客户端,不占用服务器资源。对于并发用户十分多的网站,session是一个很好的选择。
6、浏览器的支持不同:session不支持新建窗口,只支持字窗口。而cookie都支持。
假设浏览器禁用cookie,session可以通过URL重写的方法实现。COOKIE就派不上用场。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2020-01-03 使用Network Emulator Toolkit工具模拟网络丢包测试(下)
2020-01-03 使用Network Emulator Toolkit工具模拟网络丢包测试(上)
2020-01-03 Fiddler实战之使用Fiddler模拟弱网环境(限速)
2020-01-03 Fiddler实战之拟2G、3G、4G网络进行弱网测试