接口自动化测试必备技能——HTTP协议(九)

1. HTTP协议简介及状态码解析

  1. HTTP协议简介
  • HTTP协议,中文名称为超文本传输协议
  • 它是一个应用层的协议,私有请求和响应构成
  • 其典型的引用场景就是浏览器和服务器之间进行数据传输
  1. HTTP协议的基本工作流程

1675771631896.png
3. HTTP协议状态码解析
5种状态分类

  • 1**:服务器收到请求,需要请求者继续执行操作
  • 2**:操作被成功接受并处理
  • 3**:请求长定向,需要进一步的操作以完成请求
  • 4**:客户端错误,请求包含语法错误或无法完成请求
  • 5**:服务器错误,服务器在处理请求的过程中发生了错误
  1. HTTP协议常见具体的状态码
    200:请求成功
    400:客户端请求的语法错误,服务器无法理解
    401:请求要求用户的身份认证
    403:服务器理解请求客户端的请求,但是拒绝执行此请求
    404:服务器无法根据客户端的请求找到资源
    405:客户端请求中的方法被禁止
    500:服务器内部错误,无法完成请求
    503:由于超载或系统维护,服务器暂时的无法处理客户端的请求
    505:服务器不支持请求的HTTP协议的版本,无法完成处理

2. HTTP协议请求头解释

  • Axxept:告诉服务器自己接受什么数据类型
  • Axxept-Encoding:浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法
  • Accept-Language:浏览器声明自己接收的语言
  • Connection:表示是否需要持久连接
  • Cookie:保持客户端部分信息发送到服务端验证和使用
  • Host:客户端指定自己想访问的WEB服务器的域名/IP地址和端口号
  • jwt-token:代表了客户端向服务端请求时带有什么验证信息
  • Origin:代表了客户端的请求来自于哪个站点
  • Referer:浏览器向WEB服务器表明自己是从哪个网页URL获取得点击当前请求中的网址/URL
  • User-Agent:浏览器表明自己的身份(是那种浏览器)
  • X-Requested-With:标识着请求是同步请求还是异步请求
  • Cache-Control:指定请求和响应遵循的缓存机制,决定了如何管理和使用缓存

1675838883850.png

3. HTTP协议响应头解析

  • 以下图圈住就是响应头
    1675839000041.png
  • Access-Control-Allow-Credentials:请求的响应是否可以暴露于该页面,当true值返回时它可以被暴露
  • Access-Control-Allow-Origin:服务器端允许进行跨域资源访问的来源域
  • Content-Type:服务端告诉客户端响应体的内容类型
  • Date:创建响应数据(报文)的日期时间,就是消息发送的时间
  • Transfer-Encoding:传输编码,chunked是分开传输的意思
  • Vary:服务器用这个头的内容告诉缓存服务器,在什么条件下才能用本响应所返回的对象响应后续的请求
  • Allow:服务器支持哪些请求方法(如GET,POST等)
  • Server:服务器表明自己是什么软件及版本等信息

4. Cookie和Session的工作机制及区别

  1. 什么是Cookie?
  • Cookie是一直网站为了识别用和跟踪会话而存储在用户本地终端中的文本数据
  1. Cookie的工作流程

1675840046785.png

  1. 进入开发者工具路径
    1675841403959.png

1675841868512.png
4. 什么是Session?

  • Session是指会话控制,是保存在服务器上一种机制,当客户端访问服务器的时候,服务器会把信息以某种形式记录在服务器上,恰恰和Cookie相反。
  • 以下圈住的就是id
    1675842197965.png
  1. Session的工作流程
    1675842953543.png
  2. Cookie和Session的区别
  • 存放位置不同,Cookie放在客户端,Session存在服务端
  • 存放位置不同导致安全性不同,Cookie存在客户端中,用户可以任意分析Cookie,而Session在服务端,用户分析不到
  • 数据存储大小不同,Cookie保存的数据不能超过4K,Session存在服务端,所以没有限制
  • 性能使用情况不同,当访问过多时Session比较占用服务器资源,而Cookie不会
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要进行自动化测试,以下是一些必备的知识和技能: 1. 编程语言:你需要至少掌握一种编程语言,如Python、Java、C#等,以编写自动化测试脚本和工具。 2. 测试基础知识:了解软件测试的基本概念、测试类型、测试策略和测试方法等,可以帮助你设计和执行有效的自动化测试。 3. 测试工具和框架:熟悉常用的自动化测试工具和框架,如Selenium、Appium、Jenkins、Robot Framework等,可以帮助你快速实施自动化测试。 4. 版本控制系统:掌握使用版本控制系统(如Git)来管理测试代码和脚本的版本,并与团队进行协作。 5. Web和移动应用开发知识:了解Web和移动应用程序的基本原理、技术栈和开发流程,可以更好地理解自动化测试的需求和场景。 6. 数据库基础知识:了解数据库的基本概念、SQL查询语言和常用的数据库管理系统(如MySQL、Oracle),可以帮助你在自动化测试中处理数据相关的任务。 7. 软件开发生命周期:了解软件开发过程中不同阶段的活动和角色,以便更好地集成自动化测试。 8. 调试和故障排除:具备基本的调试技能,能够定位和解决自动化测试中的问题和错误。 9. 持续集成和持续交付:了解持续集成和持续交付的概念和实践,掌握相关的工具和技术,可以帮助你实现自动化测试的自动化执行和集成。 10. 学习能力和沟通能力:自动化测试技术和工具在不断发展,保持学习能力和与团队有效沟通的能力很重要,以便跟上最新的发展并与团队合作开展自动化测试工作。 这些是进行自动化测试所需的基本知识和技能,当然还可以根据具体项目和需求进行补充。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值