当前位置: 首页 > 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/news/318078.html

相关文章:

  • 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图像
  • 个人量化成功之路-----获取实时OHLC的数据
  • 设计模式六大原则:面向对象设计的核心
  • 不靠学历,不拼年资,怎么才能月入2W?
  • 电商安全新挑战:筑起数字防御长城,守护业务与数据安全
  • Java反射机制入门:解锁运行时类信息的秘密
  • 新闻文本分类识别系统Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+TensorFlow+Django网页界面
  • 面经3——中和农信
  • Redisson分布式锁分析,可重入、可续锁(看门狗)
  • html知识点框架
  • 成为谷歌开发者专家(GDE)的经历