Cookie、Session、Token的关系和区别

关系

  • Session与Cookie:Session通常依赖于Cookie来工作。当服务器为客户端创建一个Session时,它会在服务器上存储与客户端相关的信息,并将一个唯一的SessionID通过Cookie发送给客户端。客户端在后续的请求中会携带这个Cookie(包含SessionID),以便服务器能够识别并恢复与该客户端的Session。
  • Token与Session/Cookie:Token也是一种身份验证机制,但它不依赖于服务器端的Session或客户端的Cookie。相反,Token本身包含了所有必要的用户信息和验证信息,客户端在每次请求时都需要将Token发送给服务器进行验证。

区别

Cookie
  • 存储位置:客户端。
  • 内容:通常以字符串的形式存储一些数据,如用户ID、SessionID等。
  • 特点
    • 按照域名存储。
    • 存储大小有限制,通常约为4KB或50条左右。
    • 具有时效性,可以手动设置。
    • 请求自动携带,即当客户端向服务器发送请求时,会自动将Cookie包含在请求头中。
Session
  • 存储位置:服务器端。
  • 内容:可以理解为一个状态列表或用户信息档案表,包含用户的认证信息和登录状态等。
  • 特点
    • 依赖于Cookie或URL重写来传递SessionID。
    • 当同时登录的用户数量较多时,可能导致服务器查询变慢。
    • 用于解决HTTP协议无状态的问题。
Token
  • 存储位置:客户端(通常在localStorage、sessionStorage或Cookie中)。
  • 内容:通常是一个包含用户信息、过期时间和签名的字符串。
  • 特点
    • 无状态,即不依赖于服务器端的Session。
    • 加密存储用户信息,安全性更高。
    • 需要开发者手动添加和验证。
    • 在区块链技术中,Token可以代表数字资产、实物资产、虚拟资产或特定权益等。

总结

  • Cookie 主要用于在客户端存储少量数据,并自动包含在请求头中发送给服务器。
  • Session 存储在服务器端,用于跟踪用户状态,并依赖于Cookie或URL重写来传递SessionID。
  • Token 是一种无状态的身份验证机制,客户端在请求时携带Token进行身份验证,具有更高的安全性和灵活性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/728794.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【面试干货】Java中的访问修饰符与访问级别

【面试干货】Java中的访问修饰符与访问级别 1、public2、protected3、默认(没有访问修饰符)4、private 💖The Begin💖点点关注,收藏不迷路💖 在Java中,访问修饰符用于控制类、变量、方法和构造器…

基于CST的PCB通孔三维建模实例

CST的Via Wizard流程在其Help文件中的描述如下,流程将经历5个创建模块,最后生成三维模型: 首先,创建一个新的MWS工程文件,在主菜单栏中逐一点击Macros-->Wizard-->Via Wizard,启动创建流程; CST会自动打开基于Excel的创建表格,如下图所示,设计者需要点击“启用宏…

【初阶数据结构】深入解析带头双向循环链表:探索底层逻辑

🔥引言 本篇将介绍带头双向循环链表底层实现以及在实现中需要注意的事项,帮助各位在使用过程中根据底层实现考虑到效率上问题和使用时可能会导致的错误使用 🌈个人主页:是店小二呀 🌈C语言笔记专栏:C语言笔…

加密的记事本app哪个好用 记事本哪款好用能上锁

随着科技的进步,越来越多的人开始倾向于使用记事本app来记录生活中的点点滴滴。相较于传统的纸质记事本,这些app不仅记录内容丰富,而且安全性更高。其中,敬业签就是一款备受好评的记事本软件。 敬业签以其强大的功能和出色的安全…

HTTP详细总结

概念 HyperText Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。 特点 基于TCP协议: 面向连接,安全 TCP是一种面向连接的(建立连接之前是需要经过三次握手)、可靠的、基于字节流的传输层通信协议,在…

“Docker入门指南:概念与安装详解“

目录 # 概念 1. Docker常见问题 2. docker概念和安装 2.1 Docker的组成 2.2 Docker 组件及关系表 2.3 docker核心思想 2.4 docker镜像与容器两个核心概念 2.5 容器概念图 2.6 docker核心技术 2.6.1 镜像 (Image) 概述 关系 示例 2.6.2 容器 (Container) 概述 关…

高考志愿填报,如何避免报错专业?

高考志愿填报绝对是关键一环节,分数高低暂且不论,因为这个填报志愿,大概率是决定了余生的职业,也有人说,大学可以转专业,毕业还可以跨行就业,工作了还可以转行.....确实有这个可能性&#xff0c…

如何选择合适的半桥栅极驱动芯片?KP8530X,KP85402,KP85211A满足你对半桥栅极驱动一切需求

半桥栅极驱动系列KP8530X,KP85402,KP85211A在功率电子领域展现出卓越的性能和可靠的品质。具备诸多显著优势。首先,半桥栅极驱动系列KP8530X,KP85402,KP85211A拥有出色的耐压性能,可承受高达数百伏的电压&a…

CTFHUB-SSRF-端口扫描

已经提示我们需要扫描8000~9000的端口 ?urlhttp://127.0.0.1:8000/flag.php 访问用burp抓包爆破 通过Burp扫描8000-9000端口开放的web服务,发现8718开放web服务

【C++高阶】探索STL的瑰宝 map与set:高效数据结构的奥秘与技巧

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C “ 登神长阶 ” 🤡往期回顾🤡:初步了解 二叉搜索树 🌹🌹期待您的关注 🌹🌹 ❀map与set 📒1.…

【深度学习】GPT-2,Language Models are Unsupervised Multitask Learners,【语言建模】

论文:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf 文章目录 摘要引言方法2.1 训练数据集2.2 输入表示2.3 模型3. 实验3.1 语言建模3.2 Children’s Book Test3.3 LAMBADA3.4 Winograd Sc…

微信小程序轮播图

效果图 详情可见 微信小程序 参照&#xff1a;swiper | uni-app官网 代码&#xff1a; <!--轮播图-- > <swiper interval"2000" autoplay"true" circular"true" style"height: 300px;"><swiper-item style&qu…

YOLOv10改进 | 注意力篇 | YOLOv10引入YOLO-Face提出的SEAM注意力机制优化物体遮挡检测

1. SEAM介绍 1.1 摘要:近年来,基于深度学习的人脸检测算法取得了长足的进步。 这些算法通常可以分为两类,即像 Faster R-CNN 这样的两级检测器和像 YOLO 这样的一级检测器。 由于精度和速度之间具有更好的平衡,一级探测器已广泛应用于许多应用中。 在本文中,我们提出了一…

Emacs之复制时:禁止转换成tab符号(一百三十九)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

详细分析Oracle日期和时间的基本命令

目录 1. 基本类型2. 常用函数3. Demo 1. 基本类型 Oracle支持不同的日期格式模型&#xff0c;其中包括&#xff1a; ISO 8601: YYYY-MM-DDTHH:MI:SS&#xff0c;例如2024-06-20T14:30:00Oracle内部格式: DD-MON-YYYY HH:MI:SS AM&#xff0c;例如20-JUN-2024 02:30:00 PM DA…

Linux管道与重定向

管道 是进程通信的方法之一&#xff0c;在Linux中用命令1|命令2的形式表示&#xff0c;将前一个命令的结果作为后续命令的参数进行输入&#xff0c;也有tee管道&#xff0c;可以进行多次筛选&#xff0c;即多次使用|过滤命令。 重定向 文件描述符FD Linux中输入输出分为三种…

VB实现加法计算

textbox1失去焦点&#xff0c;检查输入的值是否为数字。 textbox2中按下Enter键&#xff0c;检查输入的值是否为数字。 textbox3获得焦点&#xff0c;计算textbox1和textbox2的和。 Public Class Form1Private Sub TextBox1_LostFocus(sender As Object, e As EventArgs) Hand…

使用GPG来解密和加密文件详解

文章目录 使用私钥解密文件示例步骤 注意事项加密文件前提条件导入公钥加密文件输出加密文件示例步骤注意事项邮箱不是必须的情况1&#xff1a;有多个公钥情况2&#xff1a;只有一个公钥示例步骤示例1&#xff1a;指定公钥ID或邮箱地址示例2&#xff1a;密钥环中只有一个相关的…

【LLM之RAG】RAT论文阅读笔记

研究背景 近年来&#xff0c;大型语言模型&#xff08;LLMs&#xff09;在各种自然语言推理任务上取得了显著进展&#xff0c;尤其是在结合大规模模型和复杂提示策略&#xff08;如链式思维提示&#xff08;CoT&#xff09;&#xff09;时。然而&#xff0c;LLMs 在推理的事实…

MySQL:SELECT list is not in GROUP BY clause 报错 解决方案

一、前言 一大早上测试环境&#xff0c;发现测试环境的MySQL报错了。 SELECT list is not in GROUP BY clause and contains nonaggregated column二、解决方案 官方文档中提到&#xff1a; 大致意思&#xff1a; 用于GROUP BY的SQL / 92标准要求满足以下条件&#xff1a; SE…