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

聊一下cookie,session,token的区别

cookie

cookie是存放在客户端的,主要用于会话管理和用户数据保存;cookie通过http报文的请求头部分发送给服务器,服务器根据cookie就可以获取到里面携带的session id(用于获取服务器中对应的session数据),因为http是无状态协议,我们通常就是通过cookie去维护状态的

cookie是在客户端第一次访问到服务器时,服务器生成并返回给客户端的

cookie也分为会话cookie和持久cookie,会话cookie存放在内存中,浏览器关闭时自动删除;持久cookie则存放在硬盘,有一个过期时间,在时间内cookie有效

优点:简单易用

缺点:大小有限,存放数据少;容易被人为篡改,安全性低

session 

session和cookie不同,session存放在服务器中,session用于记录客户端的信息还有用户的状态,我们通过cookie的session id去访问服务器中的session以获取用户的状态

优点:安全性高,不易被修改;存放数据量大

缺点:资源消耗

token

token,拿jwt来说,就是一个字符串,由头部,负载,签名三个部分组成

token主要用于用户的登录验证,token由服务器生成,保存在客户端,在用户首次登录成功时返回,token可以存放在cookie中或者本地存储中,一般存放在local storage,通常会使用一些加密算法对token进行一些保护,例如SHA256

token在一定程度解决了cookie安全性低的问题,不会出现CSRF攻击(跨站请求伪造)的问题,对方无法直接获取到token

优点:安全性高,单点登录友好,适用于移动端

缺点:存在token过期的问题


http://www.kler.cn/a/318078.html

相关文章:

  • Python高级编程模式和设计模式
  • C 语言 【模拟实现内存库函数】
  • JVM 中的完整 GC 流程
  • 【设计模式】行为型模式(二):策略模式、命令模式
  • SHELL脚本(Linux)
  • MybatisPlus入门(十)MybatisPlus-逻辑删除和多记录操作
  • linux-下载、安装、更新和管理软件包
  • 【C++掌中宝】走进C++引用的世界:从基础到应用
  • leveldb前缀匹配查找Seek
  • SWC(Speedy Web Compiler)
  • java算法OJ(1)位运算
  • LabVIEW闪退
  • 企业职工薪资查询系统小程序的设计
  • JVM —— 类加载器的分类,双亲委派机制
  • 6 门新兴语言,小众亦强大
  • SpringCloud 基于 web 的只会养老平台
  • 【30天玩转python】高级面向对象编程
  • MYSQL解说
  • Flexus X实例全方位指南:智能迁移、跨云搬迁加速与虚机热变配能力的最佳实践
  • Linux——创建编写并编译一个C程序
  • 前端项目代码开发规范及工具配置
  • 【Linux】深度解析与实战应用:GCC/G++编译器入门指南
  • 无人机视角下的车辆数据集
  • 18.1 k8s服务组件之4大黄金指标讲解
  • 高等数学的后续课程
  • [大语言模型] LINFUSION:1个GPU,1分钟,16K图像