统计
  • 建站日期:2019-12-01
  • 文章总数:2002 篇
  • 评论总数:2124 条
  • 分类总数:21 个
  • 最后更新:11月21日
文章 未分类

cookie、session和token的区别

程序员阿鑫
首页 未分类 正文

Cookie:

· 表示用户身份,一小段文本信息

· 服务端生成,发送客户端保存,正在客户端头信息中,可能被用户篡改。

· 相当于钥匙,服务端用于验证钥匙是不是正确的。

· cookie格式:key:value;key:value;key:value;

cookie、session和token的区别-程序员阿鑫-带你一起秃头-第1张图片

Session:

· 标识用户用户身份

· 服务端生成,服务端保存(产生sessionID,会发送sessionID给客户端在cookie里面),占用内存,增大服务器负担

· 请求带上sessionID,服务器通过sessionID找到对应session

· 常用redis

cookie、session和token的区别-程序员阿鑫-带你一起秃头-第2张图片

Token:

· 标识用户身份一串字符串

· 服务端加密生成的令牌,保存在客户端

· 客户端请求带上token,服务端对token解密对比即可验证身份和密码

· Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。

cookie、session和token的区别-程序员阿鑫-带你一起秃头-第3张图片

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就派不上用场。

版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!

-- 展开阅读全文 --
这篇文章最后更新于2022-5-8,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
A1406PHP话费充值通道网站完整运营源码/全解密无授权源码下载
« 上一篇
Win11右键菜单反人类?怎么变回去Win10风格?解决办法【站长亲测】
下一篇 »

发表评论