什么是cookies,session,token(面试必问)

news2024/11/17 13:41:18

目录

前言

http无状态

cookies

cookie的格式显示

cookie存在问题

利用cookies可以做什么

session

session的格式显示

session存在的问题

利用session可以做什么

token

token的格式显示

token存在的问题

利用token可以做什么

总结


前言

一般在面试的时候,经常会遇到关于什么是cookies,session,token,大多数面试官可以通过这几个概念基本上了解到你对接口请求方面是否存在了解或者工作中掌握的熟练程度,看似很小的问题,但是背后缺藏着大大的阴谋,今天跟着小编一起来了解下到底什么是cookies,session,token。

http无状态

我们都知道目前的http的协议是超文本传输协议,是属于服务器传世超文本到本地浏览器的传送协议,但是很多都不清楚http的无状态是什么意思,其实无状态协议就是类似客户端发送一次http请求完成后,客户端再次发送一次http请求后,http协议不清楚第一次发送的和第二次发送的协议是否属于同一个客户端,这个问题就引入了我们今天的话题,关于三者的区别。

cookies

Cookies是一种在客户端存储用户信息的机制。当用户登录网站时,服务器会生成一个新的Cookie发送给客户端浏览器,浏览器会把这个cookies保存在对应的文件内,并要求客户端浏览器在后续请求中将Cookie发送回服务器。服务器这个时候就会根据Cookie的信息进行识别用户身份。因为客户端存有cookies值,那么就会造成一些风险,可能会被他人窃取,所有cookies在客户端存放有时间限制,当时间到期后会自动消失,当用户下次再次登录时,又重新会生成新的cookies值。

 

cookie的格式显示

一般cookies会以键值对的形式进行显示如:

{name=value; expires=date; path=path; domain=domain; secure}

其中name表示cookie的名称

value表示cookie的值

expires表示cookie的过期时间

path表示cookie的路径

domain表示cookie的域名

secure表示cookie是否只能通过安全的https连接传输

cookie存在问题

我们通过上面的了解cookie的内容,应该可以大致可以了解到cookie存在一些问题

  1. 隐私问题:cookies会记录用户的个人信息和行为,会泄露给第三方用于投放广告或个人信息进行泄露
  2. 安全问题:cookies本地端或浏览器上都可以很容易的查到,很容易会被其他人盗用,造成一些数据损失或者安全损失。
  3. 体验问题:每个cookies多多少少都会存在一些大小限制,当我们访问的网站过多,就会存储不同的cookies,这样可能会影响到用户的浏览体验
  4. 过期问题:每个网站对于账户的cookies过期时间设置都不一样,这样可能会导致用户登录信息进行泄露。

利用cookies可以做什么

就拿我们测试行业来说,在做自动化测试的时,保证cookies没有过期的前提先,可以将对应的cookies添加到浏览器中,或通过脚本语言进行模拟cookies发送给服务器,这样就能实现用户的登录。这样对于我们自动化测试绕过了一些验证码和一些繁琐的过程。

session

Session是一种在服务器端存储用户信息的机制。当用户登录网站时,服务器会创建一个Session ID并将其存储在Cookie中,然后将Session ID发送给客户端浏览器。客户端浏览器将Session ID存储在Cookie中,并在后续请求中将其发送给服务器。服务器会根据Session ID可以识别用户身份,并将用户的数据存储在服务器端的Session中。

 

session的格式显示

Session的格式通常是已键值对的形似进行保存,每个键值对表示一个变量和对应的值,我们可以通过F12中在Storage中进行查看,当然每个session保存路径可能不一样。

session存在的问题

其实关于session也有一些存在的问题,小编简单介绍几种

  1. 安全性问题:session虽然存储在服务器端,但是session ID存储在客户端上,可以通过获取session ID进行模拟登陆。
  2. 性能问题:session存在服务器的内存中,如果session的数量越来越大,会占用大量的服务器内存资源,从而降低了性能。
  3. 会话过期问题:session也有一定的有效期限制,当用户长时间不进行操作或者关闭浏览器,其中session就会过期,导致用户又需要重新登录。

利用session可以做什么

继续对于我们测试来说,可以通过session进行模拟登陆,从而跳过验证码和一些繁琐的操作,直接模拟进入到登录后想要进入的页面当中。

token

Token是一个用于验证用户身份的字符串,通常由服务器生成并返回给客户端。在Web应用程序中,Token通常是包含用户身份信息的加密字符串,可以用于验证用户在访问受保护的资源时是否有权限。Token可以被用于各种场景,例如用户登录、API访问、密码重置等。

token的格式显示

Token格式通常是一串由字母、数字和特殊字符组成的字符串,长度可以是任意的。一般token都是通过一些有效信息进行加密生成的字符串。

token存在的问题

  1. 过期问题:token存在一定的有效期限制,如果超过了有效期,就需要重新获取新的token,否则用户无法正常使用。
  2. 模拟登陆:通过了解token的实现机制,我们可以通过抓包后通过脚本语言模拟token生成,从而完成实现模拟登陆

利用token可以做什么

token一般是通过加密的方式进行生成的,如果想要使用token,我们需要了解token的生成原理,然后通过一些脚本语言模拟token的生成过程,从而达到我们通过token模拟登陆来做自动化测试。

总结

小编通过这么多的文字信息,粗糙的介绍了cookie,session,token的内容和目前测试人员可以通过这些完成那些操作,从而辅助我们进行工作。我们日常生活中的接口测试中光登录其实就是通过这三个进行实现的。文章中太多的文字介绍,具体的还需要大家结合自己公司的项目进行了解,进行动手操作,这样才能更加孰能生巧。感谢您的阅读,希望本文章可以对您带来帮助。

感谢每一个认真阅读我文章的人!!!

 我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。

   Python自动化测试学习交流群:全套自动化测试面试简历学习资料获取点击链接加入群聊【python自动化测试交流】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DhOSZDNS-qzT5QKbFQMsfJ7DsrFfKpOF&authKey=eBt%2BF%2FBK81lVLcsLKaFqnvDAVA8IdNsGC7J0YV73w8V%2FJpdbby66r7vJ1rsPIifg&noverify=0&group_code=198408628

 

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

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

相关文章

内网隧道代理技术(九)之应用层代理技术介绍

应用层代理技术介绍 前面我们介绍了相关的一些概念和隧道的技术,主要还是停留在单个端口的隧道 1、反弹shell2、端口转发3、端口映射这些都是利用端口建立隧道,但是并不能满足我们日常生活中的要求 加入我们需要对网络中的机器进行扫描,我们就不能使用端口转发或者端口映射…

【计算机视觉 | 目标检测 | 图像分割】arxiv 计算机视觉关于目标检测和图像分割的学术速递(7 月 7 日论文合集)

文章目录 一、检测相关(5篇)1.1 Contextual Affinity Distillation for Image Anomaly Detection1.2 Noise-to-Norm Reconstruction for Industrial Anomaly Detection and Localization1.3 MMNet: Multi-Collaboration and Multi-Supervision Network for Sequential Deepfake…

postman接口测试之postman常用的快捷键

作为一名IT程序猿,不懂一些工具的快捷方式,应该会被鄙视的吧。收集了一些Postman的快捷方式,大家一起动手操作~ 简单操作 操作mac系统windows系统 打开新标签 ⌘TCtrl T关闭标签⌘WCtrl W强制关闭标签Cmd Alt WCtrl Alt W切换到下一个…

【JavaEE】前后端综合项目-博客系统(上)

【JavaEE】前后端综合项目-博客系统(上) 文章目录 【JavaEE】前后端综合项目-博客系统(上)1. 创建项目2. 数据库设计3. 数据库操作的封装3.1 DataSource(单例)3.1 连接操作3.2 关闭操作3.3 创建实体类3.4 封…

“AI无界·智链全球”!壹沓科技2023世界人工智能大会论坛成功举办,构建数智供应链新范式

“AI无界智链全球”论坛成功举办 构建数智供应链新范式 7月6日,由世界人工智能大会组委会办公室指导,壹沓科技主办,上海交通大学安泰经济与管理学院、上海现代服务业联合会物流与供应链专委会、中国航务周刊协办的“AI无界智链全球”高端论坛…

前端vue入门(纯代码)23_多组件共享

我不喜欢去银行,就好像太监不喜欢去妓院一样,有些东西你没有,去了也是难受。 【24.Vuex中的多组件状态共享】 页面展示: vuex数据共享完整代码: App.vue和main.js:就不展示了。 store/index.js //该文…

Verilog学习笔记1:D触发器

代码1&#xff1a; timescale 1ns/10psmodule d_trigger(d,clk,q);input d; input clk; output q;assign q~d;endmodule//testbench module d_trigger_tb; reg clk; reg d; wire q;d_trigger d_trigger(.d(d),.clk(clk),.q(q));initial begind<0;clk<0;#1000 $stop;end…

异步电路后端实现流程(cdc signOff 后端做什么)

目录 1.一种后端异步电路的signOff流程 2.cdc maxDelay的原因及relax 2.1为什么要做maxDelay检查 2.2 如果有不同名字的clk 原本是同步时钟域 该怎么办 2.3 如果有异步电路不能满足0.7倍的fastclk maxDelay检查该怎么办&#xff1f; 1.一种后端异步电路的signOff流程 同步…

Openpyxl给同个单元格的不同文字“上色”

文章目录 0.背景1. 原文代码2. 我的代码3. 总结 0.背景 openpyxl一直在用&#xff0c;今天看到一直关注的公众号又发出了奇技淫巧&#xff08;想要看原文或者要关注原作者的可以点击这里&#xff09;&#xff0c;就直接收录到主页好了。免得以后找不到了。 1. 原文代码 原来…

全网最详细,Fiddler抓包实战 - 手机APP端https请求(超详细)

前言 Fiddler抓取App端请求 准备工作&#xff1a; 将手机和电脑连接到同一路由器&#xff08;保证两者能够ping通&#xff09;&#xff1b; 如果使用的模拟器则不需要上面的步骤&#xff0c;因为模拟器是共享PC端的网络&#xff0c;两者网络默认就是连通的状态&#xff1b; 查…

【聘】夏日炎炎,高薪IT好岗位给你降温!

微思就业推荐 厦门海翼集团财务有限公司 职位&#xff1a;数字化管理部运维管理岗 6000-12000元/月*18薪 职位描述 负责公司日常办公IT设备、网络及机房服务器、业务系统的管理。 1、负责公司机房、服务器、网络设备规划、建设、管理、巡检&#xff1b;负责建立包括但不…

【Servlet综合项目练习】实现一个简单的博客系统~

目录 &#x1f31f;一、数据库设计部分 1、建表分析&#xff1a;系统中一共要实现几张表&#xff1f; 2、开始建表 &#x1f31f;二、大概框架与实现功能 &#x1f31f; 三、代码实现部分 &#x1f308;前言1&#xff1a;工具类的实现&#xff08;utils包下&#xff09;…

2023年开放式蓝牙耳机选购指南!南卡/韶音/Cleer/索尼/飞利浦等开放式耳机怎么选!最热的开放式蓝牙耳机大盘点!

前言 大家好&#xff0c;作为专注耳机研究多年的发烧级爱好者&#xff0c;毫不夸张的说我为耳机花的钱比买衣服还多&#xff0c;很多人都在问我开放式耳机到底有没有必要买&#xff1f;答案毫无疑问是有必要&#xff01;开放式耳机佩戴舒适又安全的特质让它在耳机届风靡&#…

动态SLAM论文(7) — DOT: Dynamic Object Tracking for Visual SLAM

目录 1 Introduction 2 Related work 3 DOT A 系统概述 B. 实例分割 C. 相机和物体跟踪 D. 跟踪质量、异常值和遮挡 E. 目标是否在运动&#xff1f; F. 掩码传播 4 Experimental results 5 Conclusions 摘要 - 本文我们介绍了DOT&#xff08;Dynamic Object Trackin…

计算机网络实验报告——Wireshark 抓包分析

1. Wireshark软件下载 这里放一个蓝奏云下载链接&#xff1a; https://wwix.lanzoue.com/iEklv11klvje 密码:4g0n 2. Wireshark软件抓包使用 将该软件安装之后&#xff0c;双击打开&#xff0c;首先选择你的过滤器方式&#xff0c;我这里电脑连的是WiFi&#xff0c;就选择了这…

分布式搜索--elasticsearch

一、初识 elasticsearch 1. 了解 ES ① elasticsearch 是一款非常强大的开源 搜索引擎&#xff0c;可以帮助我们从海量数据中 快速找到需要的内容 ② elasticsearch 结合 kibana、Logstash、 Beats&#xff0c;也就是 elastic stack (ELK)&#xff0c;被 广泛应用在日志数据分…

【CANoe示例分析】PythonCAPL_Call_Demo

该工程由Vector官方提供,目的是演示Python如何调用CAPL文件里的自定义函数。里面除了CANoe工程文件外,还有python文件和CAPL: 提供了两种CANoe版本的工程文件,选择其中一种打开即可。 首先我们要确定CAPL文件AnalyseFunctions.can在CANoe工程内的什么地方?首先想到的是Si…

Apache Doris 在金融壹账通指标中台的应用实践

本文导读&#xff1a; 金融壹账通作为中国平安集团的联营公司&#xff0c;依托平安集团 30 多年金融行业的丰富经验及自主科研能力&#xff0c;向客户提供“横向一体化、纵向全覆盖”的整合产品&#xff0c;以“技术业务”为独特竞争力&#xff0c;帮助客户提升效率、提升服务…

vuex中的四个map方法的使用

vuex中的四个map方法的使用 vuex里面有四个map方法&#xff0c;他们分别可以针对不同的元素进行不同的代码生成 这四个map方法都是异曲同工&#xff0c;明白了一个基本上都明白了 1 编写案例 现在想要展示一段文本&#xff0c;其中里面两个参数要存在store的state里面&…

怎样优雅地增删查改(二):扩展身份管理模块

文章目录 用户关系管理扩展组织管理功能创建可查询仓储 实现控制器测试接口 身份管理模块&#xff08;Identity模块&#xff09;为通用查询接口的按组织架构查询和按户关系查询提供查询依据。 身份管理模块的领域层依赖Volo.Abp.Identity.Domain Abp为我们实现了一套身份管理模…