QA测试开发工程师面试题满分问答26: Cookie、Session、Token和JWT的定义、区别和使用场景

news2024/11/23 13:48:29

这是一个非常常见的面试题,需要全面掌握 Cookie、Session、Token 和 JWT 的定义和使用场景,以及它们之间的区别。下面是一个详细的满分回答:

  1. Cookie:

    • 定义: Cookie 是一种存储在客户端(通常是浏览器)的小型文本文件,用于在客户端与服务器之间保持会话状态。
    • 使用场景: 常用于保存用户登录状态、购物车信息、个性化设置等。
    • 特点: Cookie 存储在客户端,容量有限(通常为 4KB),可以被客户端修改,存在安全隐患。
  2. Session:

    • 定义: Session 是服务器端的机制,用于在客户端与服务器之间保持状态信息。
    • 使用场景: 常用于保存用户登录状态、购物车信息等,Session 数据存储在服务器端。
    • 特点: Session 数据存储在服务器端,相对 Cookie 更安全,但需要在服务器上维护 Session 信息,scalability 较差。
  3. Token:

    • 定义: Token 是一种认证凭证,用于在客户端与服务器之间进行身份验证。
    • 使用场景: 常用于无状态的 API 认证,如 RESTful API 接口。
    • 特点: Token 包含了用户的身份信息,在每次请求时都需要传递,服务器端不需要保存用户的登录状态。
  4. JWT (JSON Web Token):

    • 定义: JWT 是一种基于 Token 的开放标准,用于在网络应用环境中进行安全的信息传输。
    • 使用场景: 常用于无状态的分布式应用程序认证,如移动应用、单页应用等。
    • 特点: JWT 包含了用户的身份信息,采用 JSON 格式,可以被客户端理解和修改,具有较高的安全性。

区别:

  • Cookie 和 Session 是基于有状态的会话管理机制,Token 和 JWT 是基于无状态的认证机制。
  • Cookie 存储在客户端,Session 存储在服务器端,Token 和 JWT 存储在客户端。
  • Cookie 和 Session 需要在服务器端维护状态信息,Token 和 JWT 不需要。
  • JWT 是 Token 的一种标准化实现,提供了更安全和可扩展的特性。

   三段头部互联网大厂测开经历,辅导过25+同学入职大厂,【简历优化】、【就业指导】、【模拟/辅导面试】一对一指导

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

sqli-labs 靶场 less-5、6 第五关和第六关:判断注入点、使用错误函数注入爆库名、updatexml()函数

SQLi-Labs是一个用于学习和练习SQL注入漏洞的开源应用程序。通过它,我们可以学习如何识别和利用不同类型的SQL注入漏洞,并了解如何修复和防范这些漏洞。Less 5 SQLI DUMB SERIES-5 判断注入点:1. 首先,尝试正常的回显内容&#x…

Halcon 双相机标定与拼图(一)

一、概述 最近有一个多相机标定的项目,大概是4个相机来标定,同一坐标系,然后拼接图,之前双相机标定的时候也大概看看,所以今天就找了那个halcon 案例多学一下,后面我打算做一个对位贴合的东西,…

FreeModBusRtu移植 --stm32L431RCT6(小熊派)

文章目录 前言一、移植前需要的工作二、修改点讲解1.串口中断2.定时器3.保持寄存器4.测试 总结 前言 最近需要做一个modbus485的传感器,主要是用来做从机。之前做过主机的是stm标准库,那这次做一个HAL的从机协议栈,方便大家直接获取数据。 移…

迈入智能新纪元:智慧机房运维系统引领行业变革

在数字化飞速发展的今天,机房作为信息时代的“心脏”,其稳定运行对于企业的业务连续性至关重要。然而,传统的机房运维模式面临着诸多挑战,如响应速度慢、故障定位难、资源浪费大等问题。智慧机房运维系统,它将以智能化…

裁判文书:司法公正的“名片”

在法治社会的建设中,裁判文书不仅是法院裁判活动的产物,更是司法公正的重要体现。今天,我们就来聊聊裁判文书上的那些知识,带大家走进这个充满法律智慧的领域。 一、什么是裁判文书? 裁判文书,是人民法院…

【乐吾乐2D可视化组态编辑器】在线使用,快速入门

一、在线使用 乐吾乐2D可视化组态编辑器地址:https://2d.le5le.com/ 二、步骤 本教程将带领你快速体验2D可视化编辑器的全流程开发。 1.创建图纸 进入2d编辑器主界面后,主界面最中心为图纸面板,默认为空图纸,在界面左侧为组…

Paperless-Ngx文档管理系统结合内网穿透实现随时远程搜索查阅文本

文章目录 前言1. 部署Paperless-ngx2. 本地访问Paperless-ngx3. Linux安装Cpolar4. 配置公网地址5. 远程访问6. 固定Cpolar公网地址7. 固定地址访问 前言 Paperless-ngx是一个开源的文档管理系统,可以将物理文档转换成可搜索的在线档案,从而减少纸张的使…

工业级物联网边缘网关解决方案-天拓四方

随着工业4.0时代的到来,越来越多的企业开始寻求智能化升级,以提高生产效率、降低运营成本并增强市场竞争力。然而,在实际的转型升级过程中,许多企业面临着数据孤岛、设备兼容性差、网络安全风险高等问题,这些问题严重制…

Google Guice超轻量级依赖注入容器

Google Guice是Goolge开源的一款超轻量级依赖注入容器,超轻量的特点主要体现在:可与其它依赖注入容器混合使用,例如和Spring/Spring Boot的IOC容器混合使用;不需要任何配置信息,只需要引入几个有限的依赖包即可以使用&…

容器化实践:DevOps环境下的容器交付流程

DevOps的兴起是为了应对市场和消费者对技术应用的不断增长的需求。它的目标是构建一个更快的开发环境,同时保持软件的高质量标准。DevOps还致力于在敏捷开发周期中提升软件的整体品质。这一目标的实现依赖于多种技术、平台和工具的综合运用。 结合容器化技术与DevO…

echarts学习: 在图表中添加多条y轴会怎么样?

前言 在撰写如何绘制双y轴图表文章时,我突然萌生出了一个想法,如果给图表添加两个以上的y轴会怎么样呢? 带着这个问题我开始了自己的探索之旅。 我找到了一篇优秀的文章作为参考,虽然它需要付费,但是不要紧,文中免费…

达摩院重大“遗产”!fluxonium量子比特初始化300纳秒且保真度超过99%

通用量子计算机开发的主要挑战之一是制备量子比特。十多年来,研究人员在构建量子计算机的过程中主要使用了transmon量子比特,这也是迄今为止商业上最成功的超导量子比特。 但与业界多数选择transmon量子比特不同,(前)…

关于浔川python社在全网博主原力月度排名泸州地区排名第三名的调查——浔川总社部

6月6日,浔川python社在全网博主原力月度排名泸州地区排名第三名。 引起了广大python爱好者等的不满,为什么浔川python社这么一个大的python社排名第三? 2024-06-04 21:59:52 浔川python社在全网博主原力月度排名泸州地区排名第一名。 2024-…

基于Vue3的Uniapp实训项目|一家鲜花店

基于Vue的Uniapp实训指导项目 项目预览: 在这里插入图片描述 pages.json {"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages{"path": "pages/index/index",&…

static的用法

static一般用于修饰局部变量,全局变量,函数 1 static修饰局部变量 是因为改为static int a1;后,出了作用域,不会销毁a的值,想要理解其本质,首先先看一下这个图: static修饰局部变量时&#xf…

每天一道大厂SQL题【Day32】按消息量给广东省qq打标记

文章目录 每天一道大厂SQL题【Day32】按消息量给广东省qq打标记每日语录第32题 需求三:按消息量给广东省qq打标记思路分析附表 答案获取加技术群讨论文末SQL小技巧 后记 每天一道大厂SQL题【Day32】按消息量给广东省qq打标记 大家好,我是Maynor。相信大…

RabbitMQ系列-rabbitmq无法重新加入集群,启动失败的问题

当前存在3个节点:rabbitmq5672、rabbitmq5673、rabbitmq5674 当rabbitmq5673节点掉线之后,重启失败 重启的时候5672节点报错如下: 解决方案 在集群中取消失败节点 rabbitmqctl forget_cluster_node rabbitrabbitmq5673删除失败节点5673的…

工欲善其事必先利其器——IntelliJ IDEA神器使用技巧

1.IntelliJ IDEA神器使用技巧【时长2小时20分】 程序员每日都会花费数小时使用ide编写和调试代码,其中很多操作都是机械重复且频率非常高,本着"工欲善其事必先利其器"的精神,闷头写代码之外花点时间研究一下自己用的ide&#xff0…

zookeeper启动(一)

1.zookeeper启动入口 在zkServer.sh的启动命令中,我们可以找到zookeeper启动的关键类org.apache.zookeeper.server.quorum.QuorumPeerMain QuorumPeerMain#main 我们可以直接看org.apache.zookeeper.server.quorum.QuorumPeerMain中的main方法,从下面的main方法中,我们可以…

JavaSE基础语法合集

随着不断学习,我们已经走完了JavaSE基础语法的所有内容,博主的单独语法篇共十二篇,感兴趣的也可以去看看,内容基本一致,目录是重新排布的,数组和方法都在初识Java章节。 适合:老手复习和新手从零…