彻底理解Cookie、Session、Token的区别

作者: admin 分类: 面试专题 发布时间: 2024-07-10 11:15

今日分享:彻底理解Cookie、Session、Token的区别

正文内容:

HTTP协议

  • 支持客户/服务器模式。
  • 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、POST、PUT、DELETE。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
  • 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
  • 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。(HTTP1.1开始支持长连接,需要服务端配置对应的参数)
  • 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

Cookie

  • Cookie是客户端保存数据的一种机制
  • 会话cookie
    • 保存在浏览器内存中,浏览器关闭后就消失了
  • 持久化cookie
    • 保存在本地磁盘上,一般会有一定的过期时间
    • 例如chrome浏览器:C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\Cache

Session

  • Session是服务端保存数据的一种机制,用户的一些关键信息会保存在session中
  • session保存在服务端内存中
  • 每个用户对应一个独立的session,服务端会存储很多session
  • 每个session都有自己的唯一id
  • session都有过期时间,如果一定时间内没有更新数据,就会消失

cookie和session的关系

token

  • token是一种验证客户端身份的机制
  • 客户端认证成功后,服务端返回token值,客户端需要自己保存这个token
  • 服务端将token单独存储
  • token一般都是加密的
  • 特点:
    • 无状态、可扩展
    • 跨程序、跨域调用
    • 安全

cookie、session、token的区别

  • cookie是一种数据存储机制,可以存储任何数据,一般是以文件存储
  • session是服务端的一个数据存储机制,可以存储任何数据,以内存存储
  • token是一种客户端认证机制,是一个经过加密之后的字符串,支持跨域
  • token也可以以cookie的形式存储在客户端

说明:本文来源于互联网收集并整理。

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表回复