接口测试开发之:一篇搞懂 Cache、Cookie及Session。

news2024/11/14 13:48:27

目录

1、引言

2、Cache

2.1 缓存定义

2.1.1 缓存概念

2.1.2 缓存优点

2.2 浏览器缓存

2.2.1 存储路径

2.2.2 缓存优点

2.2.3 缓存弊端

2.2.4 原理图

2.3 代理缓存

2.3.1 原理

2.3.2 应用场景

2.3.3 原理图

2.4 网关缓存

2.4.1 原理

2.4.2 缓存分类

2.4.3 缓存与协议流程图

2.4.4 缓存原理图

3、Cookie

3.1 原理

3.2 通行证

3.3 原理图

4、Session

4.1 传输步骤

4.2 原理图

5. Session 与Cookie区别


1、引言

在接口测试开发过程中,了解Cache、Cookie、Session等概念是非常重要的,尤其是在进行Web接口测试时。这些概念涉及到了HTTP协议的具体实现,对于理解接口测试中的数据传递和鉴权机制有很大的帮助。在本文中,我们将详细了解Cache、Cookie和Session的概念、原理以及在接口测试中的应用。

2、Cache

关于缓存,我看了网上的一些教程讲解,几个字概括:

     太繁琐,太啰嗦,长篇大论

为了能让大家更容易理解,小鱼我以文字+流程图的形式来分享。

首先,针对接口测试,Cache主要分为三类:

    浏览器缓存

    代理缓存

    网关缓存

2.1 缓存定义

2.1.1 缓存概念

使用缓存Cache的站点会监听客户端向服务器端发出的请求,并根据相应的缓存设置保存服务器端反馈的数据,如HTML页面,图片等文件。

如果用户再次使用相同的URL发送请求,请求不会直接发向服务器,而是通过缓存策略现行判断是否能够使用之前已经保存下来的反馈文件,从而降低服务器的负载及提高数据的响应时间。

2.1.2 缓存优点

一个优秀的缓存策略可以为网络传输带来以下两方面的好处:

减少延迟:因为所发出的网页请求是指向更接近客户端的缓存,而不再是源服务器端,因为请求所花费时间更短,这让网站看上去反应更快,提高了用户体验。

降低网络负荷:因为缓存文件可以重复使用,节省不少的带宽,降低了网络负荷。同时站在用户的角度,这也节省了不少流量.

妈妈再也不担心我的流量不够用了

2.2 浏览器缓存

2.2.1 存储路径

存储路径:

将浏览过得网页全部内容保存到本地计算机的硬盘中

2.2.2 缓存优点

减少延迟:因为所发出的网页请求是指向更接近客户端的缓存,而不再是源服务器端,因为请求所花费时间更短,这让网站看上去反应更快,提高了用户体验。

降低网络负荷:因为缓存文件可以重复使用,节省不少的带宽,降低了网络负荷。同时站在用户的角度,这也节省了不少流量.

  ---->妈妈再也不担心我的流量不够用了

2.2.3 缓存弊端

由于客户端内存的限制,不能存放过多的数据,否则会降低本机的性能。

2.2.4 原理图

原理流程图

2.3 代理缓存

2.3.1 原理

代理缓存既不属于客户端,也不属于服务器端,而是利用网络路由器请求信息。

2.3.2 应用场景

用户手动设置浏览器代理

使用网页代理

网页代理将请求的URL通过他潜在网络定向到代理,所以用户无需手动配置。

2.3.3 原理图

原理流程图

2.4 网关缓存

2.4.1 原理

原理

网关缓存也是中间人,但不是由系统网络管理员出于节省带宽而部署,他们通常是由于网站站长自己部署的,这样可以让自己的网站更具有扩展性,可靠性和性能更好。

可以通过许多方法将请求路由到网关高速缓存,他就类似于负载平衡器。

2.4.2 缓存分类

强缓存:直接从本地缓存中取资源,不会和服务器通信

协商缓存:通过服务器来告知是否能用本地缓存。先和服务器通信,在从本地缓存中去;如果不可以使用本地缓存,就会返回最新的资源。

2.4.3 缓存与协议流程图

强缓存与协商缓存图

2.4.4 缓存原理图

原理流程图

3、Cookie

3.1 原理

    1、 用户会提供包括用户名称在内的订单信息并且将其提交到服务器;

    2、服务器向客户端回传相应的数据的同时,也会发送这些信息;

    3、当客户端接收到来自服务器的响应之后,浏览器会将Cookie存放在一个统一的位置;

    4、客户端再向服务器发送请求的时候,会把Cookie再次发回至服务器。

3.2 通行证

通行证解析

Cookie的内容是保存的一小段文本信息,这些文本信息组成一份通行证。

它是客户端对于无状态协议的一种解决方案。

3.3 原理图

原理流程图

4、Session

4.1 传输步骤

1、 服务器端程序运行过程中创建Session,并为该Session生成唯一的Session ID

2、服务器将该Session ID 发送到客户端

3、当客户再次发送请求的时候,就会把这个Session ID都带上

4、当服务器接收到请求之后就会依据Session ID找相应的Session,完成请求响应

4.2 原理图

原理流程图

5. Session 与Cookie区别

1.存储位置不同

Cookie:存放在客户端浏览器上;

Session:存放在服务器上。

2. 存储方式不同

Cookie:只能保管ASCII字符串,需要通过编码的方式存取Unicode字符或者二进制数据。运用Cookie难以实现存储略微复杂的信息。

Session:存取任何类型的数据。

3. 有效期不同

Cookie:设置其属性,长期有效

Session:关闭窗口,自动失效

4. 存储容量不同

Cookie:单个数据≤4KB,一个站点最多保存20个Cookie

Session:没有上限,但是出于对服务器的性能考虑,Session内不要存放过多的东西,并且设置Session删除机制。

5. 隐私策略不同

Cookie:对客户端是可见

Session:存储服务器,对用户透明

6. 服务器压力不同

Cookie:保存在客户端,所以不占用服务器资源

Session:保存在服务器端,所以会消耗大量内存

7.跨域支持不同

Cookie:支持跨域名访问。

Session:不支持跨域名访问。Session仅在它所在的域名内有效。

 作为一位过来人也是希望大家少走一些弯路,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步! 

留【自动化测试】即可【自动化测试交流】:574737577(备注ccc)icon-default.png?t=N4P3http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=jQ7U9aFlFfNPtwTDUR5iRvU_0ZJpqQnj&authKey=VpDbgWhgOhQD%2F3fnncM8ovCA0z%2F5lztJw0ZrSFg74qMtMi9Xnp99%2FCVOWixq2%2Bny&noverify=0&group_code=574737577

 

 

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

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

相关文章

uniapp uview2.0 其中u--textarea组件无法换行,换行无效问题解决方案

最终发现是因为默认值的问题,uniapp和uview的官方文档写的confirmType的默认值都是done,但是uniapp的textarea在没有配置的情况下是没有值的,uview给加了一个默认值done,就出现了无法返回的问题,尝试了将uview的textar…

qt样式表qss选择器

目录 1、通用选择器 2、类型选择器(类和子类) 3、类选择器 4、ID选择器 5、子孙后代控件选择器 6、子后代控件选择器 7、属性选择器 7.1 静态属性 7.2 动态属性 8、子控件选择 9、伪状态选择 在开始之前,先要区分3个概念&#xff1…

Android MediaPlayer多次Seek产生杂音优化

前言 MediaPlayer 作为Android自带的Player目前还是存在很多不好使用问题,但实际开发中,还是有不少使用场景,本文针对多次seek产生杂音的问题进行分析讨论,自己遇到了进行记录,目前底层也不好解决和轻易改动原生代码&…

2020年CSP-J认证 CCF非专业级别软件能力认证第一轮真题-单项选择题解析

2020 CCF认证第一轮(CSP-J)真题 一、单项选择题 (共15题,每2分,共30分;每题有且有一个正确选项) 1、在内存储器中每个存储单元都被赋予一个唯一的序号,称为 A、下标 B、序号 C、地址 D、编号 答案:C…

当618成“抢人大战”,知道“怎么抢”才能“抢得到”

文 | 螳螂观察 作者 | 易不二 今年618对很多平台来说都意义非凡。 尤其是最具主场优势的阿里、京东而言,更是一场硬仗:阿里“16N”组织架构调整后,淘天的第一次大促,且还恰逢也淘宝20周年;京东换帅、CEO许冉第一次接…

华为OD机试真题 Java 实现【素数伴侣】【2023 B卷 100分】,附详细解题思路

一、题目描述 若两个正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5、6和13,它们能应用于通信加密。现在密码学会请你设计一个程序,从已有的 N ( N 为偶数)个正整数中挑选出若干对组成“素数伴…

13.常用类|Java学习笔记

文章目录 包装类包装类型和String类型的相互转换Integer类和Character类的常用方法Integer创建机制&面试题 String类创建String对象的两种方式和区别字符串的特性String类的常用方法 StringBuffer类String和StringBuffer相互转换StringBuffer常用方法 StringBuilder类Strin…

Java实训日志01

文章目录 一、安装录屏软件(一)下载软件(二)安装软件 二、使用录屏软件三、安装XMind软件(一)下载XMind软件(二)安装XMind软件 四、创建思维导图(一)启动XMin…

如何评价广告营销效果

广告营销的目的 广义上的营销,2个主要目的:达成销售和建设品牌,其实后者的终极目的还是前者。销售是短期达成,品牌建设是长期管理。 广告是营销的一部分,广告的效果评估也应该从目的出发探寻方法。 网络广告的特性 网…

2023Fiddler学习笔记 -- 状态栏及辅助选项卡

接上节课内容 2023Fiddler抓包学习笔记 -- 环境配置及工具栏介绍 2023Fiddler抓包学习笔记 -- 如何在会话窗口添加ip列 一、状态栏 1、上面黑色的框框,可以输入相关命令实现操作,比如:bpu baidu,只要url里包含baidu的网站都会被…

Socket 传情:用 Python 编织 TCP 网络

文章目录 参考描述TCP 服务器端与 TCP 客户端通信的基本流程服务器端客户端 使用 socket 实现 TCP 服务器端实现监听套接字socket.socket()Socket().bind()IP 地址的选择本地回环地址某一特定 IP 地址空字符串 Socket().listen()监听套接字的实现 实现连接套接字Socket().accep…

【I2C】Linux使用GPIO模拟I2C

文章目录 1. I2C GPIO系统架构简介2. 如何使能I2C GPIO驱动2.1 config配置2.2 dts配置2.3 测试验证 3. 简单分析i2c-gpio.c驱动3.1 解析设备树3.2 配置SDA和SCL3.3 注册到i2c-algo-bit.c 4. 简单分析i2c-algo-bit.c驱动4.1 提供I2C通信时的算法4.2 注册Adapter 5. 参考资料 1. …

翻车了,被读者找出 BUG

大家好呀,我是小楼。 本文是上篇文章《使用增强版 singleflight 合并事件推送,效果炸裂!》的续集,没看过前文必须要先看完才能看本文,实在不想看,拉到文章末尾,给我点个赞再退出吧~Doge 上篇文…

如何进行App性能测试?SoloPi是最佳选择!

目录 引言 SoloPi简介 SoloPi特点 SoloPi的主要功能 下载SoloPi 安装SoloPi 使用SoloPi进行性能测试 性能数据查看与记录 环境加压 响应耗时计算工具 注意事项 Solopi提供的各项性能指标介绍 引言 大家好!我是凡哥。 今天我想跟你们分享一下如何进行A…

Python的接口自动化-读写excel文件

目录 引言 一、xlrd、xlwt以及xlutils安装 二、xlrd操作excel文件的数据读取 三、xlwt向excel文件写入数据 四、xlutils操作excel文件 五、封装操作excel读和写的类 引言 使用python进行接口测试时常常需要接口用例测试数据、断言接口功能、验证接口响应状态等&#xff0…

Mysql升级8.0后日期类型兼容性问题

背景 最近对原有项目数据库进行升级,从MySQL 5.7 升级到8.0,因此项目种的驱动程序也要做相应升级。 问题 一、 升级后报:java.time.LocalDateTime cannot be cast to java.util.Date 该问题是因为代码中使用Map类型获取查询返回值&#xf…

lightdb检测不兼容工具CheckUnsupportOracle使用说明

oracle有很多特性在lightdb无法使用,使用该工具可以即时扫描某个在线数据库或本地文件夹中有哪些不兼容特性,-a -x对oracle不兼容特性有所区别,扫描范围可参考后续表格。 0、使用限制 默认扫描存储过程,函数及包默认仅支持oracl…

19JS10——预解析

文章目录 一、预解析二、变量预解析和函数预解析三、预解析案例1、案例1:结果是几?2、案例2:结果是几?3、案例3:结果是几?4、案例4:结果是几? 目标: 1、预解析 2、变量预…

电脑连上wifi但显示无网解决方案分享,轻松搞定电脑上网问题

有的时候我们会遇到这样的问题:电脑明明连接了网络但仍不能上网,并且出现错误提示“WiFi已连接但没有互联网”。遇到这种情况,我们可以先使用另一台设备访问网络,看看你能否正常上网。如果也不能上网,可以尝试重新启动…

七牛云存储开启referer防盗链后,微信小程序访问提示403

点击七牛云存储存储桶绑定的加速域名 配置站点域名和微信小程序域名 是否允许空Referer一定要打开,否则小程序上的视频或图片访问时将提示403