http接口测试:了解协议、请求方法、响应状态码

article/2025/10/12 11:59:20

http接口测试:了解协议、请求方法、响应状态码

接口在各个系统间的重要性无需重申,主要体现在外部系统与系统之间以及内部各子系统之间的交互点。通过这些特定的交互点和一些特殊的规则标准(协议)来进行系统数据之间的交互,进而为了系统的安全性、稳定性以及系统异常处理能力等质量保证,接口测试显得尤为重要。

  • http接口测试:了解协议、请求方法、响应状态码
    • 1 接口的类型
      • WebService接口
      • Http API接口
      • RESTful 接口
    • 2 TCP/IP协议
    • 3 Http请求与响应
      • 3.1 Http请求
      • 3.2 Http响应
    • 4 Http接口测试侧重点

1 接口的类型

现在行业中所说的接口基本上都是基于协议来划分的,大致划分如下:

WebService接口

WebService接口是走应用层协议soap协议通过http传输,请求报文(客户端发送的请求主体内容)和响应报文(接口返回的响应主体内容)均为XML格式的。一般通过LoadRunner、jmeter与SoapUI工具进行测试调用。

Http API接口

Http API接口是走http协议,通过路径来区分调用的方法,请求报文一般是key-value形式的,返回报文一般是json串。一般通过LoadRunner、jmeter与postman工具进行测试调用。

RESTful 接口

REST仅是一种相对流行的前后端交互形式约定,算不上是技术标准。前端、后端分离的Web应用架构上,前端在专注页面的同时,也与后端进行数据的交互,后端则专注提供这种API接口。

2 TCP/IP协议

TCP/IP协议作为一组协议的代名词,实质为TCP/IP协议簇,包含了很多协议,其协议簇采用分层管理。在ISO参考模型标准中分为7层,从第一层到第七层分别是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层,而TCP/IP协议簇则采用了4个层,从第一层到第四层分别是:网络接口层、网络互连层传输层、应用层,各层作用如下:

网络接口层:此层是主机到网络的部分,主要由处理网络的硬件部分构成。NIC(Net Work Card,即:网卡)、光纤等均属于此层。此层对应ISO参考模型的物理层和数据链路层。

网络互连层:此层用于分组发往目标网络,负责在众多网络线路中选择其中一条传输线路。IP(Internet Protocol,即:网际协议)就属于此层。此层对应ISO参考模型的网络层。

传输层:此层用于提供正处于网络连接中的PC机之间直接的数据传输,应用层会把数据交给传输层传输。TCP(Transmission Control Prococol,即:传输控制协议)和UDP(User Data Protocol,即:用户数据协议)就属于此层。此层对应ISO参考模型的传输层。

应用层:此层是用户可以直接进行操作的一层,决定了向用户提供服务时的通信内容。HTTP(HyperText Transfer Protocol,即:超文本传输协议)、FTP(File Transfer Protocol,即:文件传输协议)等协议均属于此层。此层对应ISO参考模型的会话层、表示层和应用层。
在行业中的接口测试也基本是基于http协议的。

3 Http请求与响应

在这里插入图片描述

3.1 Http请求

客户端想得到服务器端的响应消息,必须发送一个http请求消息过去。其http请求消息 = 请求行 + 请求头 + 空行 + 请求报文

图1   http请求消息示意图
其中,请求行信息为请求方法、URL、协议版本,比如:POST http://www.qq.com HTTP/1.1。本文将http协议支持的请求方法进行详细的对比说明:

Http协议定义了多种与服务器交互的方法,其所支持的请求方法:HTTP1.0版本3种(POST、GET、HEAD)、HTTP1.1版本新增5种(DELETE、PUT、OPTIONS、TRACE、CONNECT),共8种。

POST:数据提交。POST方法一般用于向服务器提交表单数据,将客户端的数据通过请求体发送给指定服务器端。因为数据在请求体中,所以该请求可能会修改现有资源、可能会创建新的资源,甚至二者均会发生;但是强调一点,POST方法在修改现有资源时一般只修改其部分内容,POST方法在创建新的资源之前是不明确需要操作的资源对象,是由http服务器给新创建的资源对象生成一个唯一URI。

GET:获取资源。GET方法一般用来从服务器上获取资源,服务器端接到GET请求后,根据请求报文中的拼接在URI上的参数将客户端所需要的相应资源返回给客户端。因为GET方法可能会被网络蜘蛛等随意访问,所以使用GET方法一般只用在获取资源,而不是被用于产生其它作用的操作中。

HEAD:获取响应头。HEAD方法和GET方法相似,也一般用来从服务器上获取资源,但是服务器端接收到HEAD请求后,只会返回相应的响应头,不会将响应消息全部资源返回,这也体现它的好处,只获取关于该资源的信息,即元数据。

DELETE:删除文件。DELETE方法用于请求服务器删除URI指定的页面资源,其自身不带验证机制的,但是在REST标准中可以用于做相应API的删除功能。

PUT:向指定的资源地址上传最新文件。PUT方法和POST方法相似,一般用于上传文件、提交数据。但是PUT请求必须明确操作的资源对象,如果对象存在,那么应该将目标对象进行全部替换;如果对象不存在,那么应该重新创建需操作的对象。另外PUT方法其自身是不带验证机制,也就是说任何人都可以上传提交数据,考虑到安全性,一般不推荐在上传文件时使用,在这一点上,DELETE方法是相同的,也是自身不带验证机制。

OPTIONS:查询支持的方法。OPTIONS方法用于查询服务器能做出响应的请求方法,其返回内容就是服务器端所支持的http请求方法,同时也允许客户端查看服务器性能,测试服务器功能是否能正常运作。

TRACE:追踪路径。TRACE方法用于回显服务器接收到的请求,测试或诊断。

CONNECT:连接代理。CONNECT方法一般用于SSL加密服务器的链接,要求用隧道协议连接代理。

3.2 Http响应

当服务器端接收到客户端发送的请求后,一般会返回一个http响应消息,其http响应消息 = 状态行 + 响应头 + 空行 + 响应报文
图2  http响应消息示意图
其中,状态行信息为http版本、状态码、以及状态解释语句,比如:HTTP/1.1 206 Partial Content。本文将其中5类常用的响应状态码详细说明:
1开头表示提示信息——说明http请求已接收,在进行下一步处理

状态码状态解释语句
100继续(Continue)

2开头表示请求成功——说明http请求已被成功接收

状态码状态解释语句
200请求成功(OK)
204服务器正确处理请求后没有报文实体要返回(No Content)
206服务器正确处理部分请求后并返回相应的报文实体(Partial Content)

3开头表示重定向——说明完成http请求需要更进一步的操作处理

状态码状态解释语句
301永久转移到新的地址(Moved Permanetnly)
302暂时转移到新的地址,不改变其内容(Found)
304未修改(Not Modified)

4开头表示客户端错误——说明http请求无法实现或者有语法错误

状态码状态解释语句
400错误请求,发送的请求有语法错误(Bad Request)
401访问页面未得到http认证授权(Unauthorized)
403禁止访问(Forbidden)
404未找到相关页面资源(Not Found)
408服务器端等待客户端请求时间超时(Request Time-out)
414请求URI太长(Request-URI Too Large)

5开头表示服务器端错误——说明服务器没能完成合法请求

状态码状态解释语句
500服务器内部有异常错误,无法完成请求(Internal Server Error)
501未实现(Not Implemented)
503服务器处于停机状态,不可用(Service Unavailable)

4 Http接口测试侧重点

基于http协议的接口,测试重点在于检查数据的交换、传递和控制管理过程,以及系统之间相互的逻辑依赖关系,所以测试接口时主要是通过工具或代码模拟http请求的发送与响应的接收。

根据API接口文档(接口说明、请求方法、调用URL、请求参数、参数类型、请求参数说明、返回参数说明以及返回示例),其测试检查重点在于:
(1)接口返回的数据与预期结果是否一致
(2)接口参数的边界值,传递的参数为负数或极值时是否可以处理
(3)接口的容错性,错误传输时是否可以处理
(4)接口的性能
(5)接口的安全性
(6)其它方面

若对大家有用,感谢点赞或评论;若有不足之处,也望大家评论进行指正或完善。相信这是互相进步的开始!


http://chatgpt.dhexx.cn/article/VtmSZDx5.shtml

相关文章

如何用postman进行http接口测试?好好看好好学

目录 优点: 1、什么是POSTMAN 2、新建一个项目 2、新增一个用例 3、添加请求信息 4、post请求参数 5、添加头信息 6、预处理和结果检查 7、全局变量与环境变量 8、导出用例为代码 9、批量执行用例 HTTP的接口测试工具有很多,可以进行http请求…

如何用postman进行http接口测试,这篇文章绝对会颠覆你的认知

目录 前言 优点: 1、什么是POSTMAN 2、新建一个项目 2、新增一个用例 3、添加请求信息 4、post请求参数 5、添加头信息 6、预处理和结果检查 7、全局变量与环境变量 8、导出用例为代码 9、批量执行用例 前言 HTTP的接口测试工具有很多,可以进…

http接口测试工具

http接口测试工具 工具图形界面特点postmanY图形界面,功能齐全curlN可用于下载,但更侧重于模拟各种http请求,与网站API的交互wgetN专注于下载,支持断点,支持递归(可用于全站下载)httpieN采用Pt…

接口测试——HttpClient

这里写目录标题 Get请求Post请求HttpClient设置代理FastJson的应用示例常用的代码块正则表达式(提取)封装后的一个demo HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包…

jmeter之接口测试(http接口测试)

基础知识储备 一、了解jmeter接口测试请求接口的原理 客户端--发送一个请求动作--服务器响应--返回客户端 客户端--发送一个请求动作--jmeter代理服务器---服务器--jmeter代理服务器--服务器 二、了解基础接口知识: 1、什么是接口:前端与后台之间的…

http post请求接口测试

http post请求接口测试 单纯的http post请求,请求参数为json格式的接口测试总结。 方法一Postman(推荐): 最简单的方法是用Postman (可做post请求模拟工具用)。真的超级简单,下面是操作方法&…

秒懂HTTPS接口(接口测试篇)

文章目录 一、前言二、具体实现1、引包2、采用绕过证书验证测试HTTPS接口3、采用设置信任自签名证书测试HTTPS接口4、验证数据库 三、完整项目结构 一、前言 下面我们来测试下我们秒懂HTTPS接口(实现篇)写的HTTPS接口(Java版) 技术选型&…

postman进行http接口测试

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。 HTTP的接口测试工具有很多&a…

【测试】详解接口测试(2)- HTTP接口用例设计与测试方法(拿B站练手)

文章目录 前言接口测试是什么HTTP接口的测试用例设计接口用例设计小结 HTTP接口的测试方法手工测试自动化测试 接口测试策略结束语 前言 大家好,我是洋子。在之前的文章《详解接口测试(1)-常见的网络通信协议》当中,我们介绍了接…

接口测试入门(一)-HTTP协议基础

- 接口功能测试算是测试工程师绕不过去的一个重要技能。 - 而掌握接口测试,需要先知道什么是HTTP协议。 - 原理虽然很枯燥,但是同时也很重要。打好基础的情况下,才能将知识体系建的更高、更扎实 目录 一、HTTP协议基础-定义与起源 二、HTTP…

接口测试(http协议,get和post请求和响应)

TCP/IP四层协议模型 HTTP协议 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网 络协议。是基于TCP/IP模型的应用层协议。 为什么叫超文本?不但可以传输文本数据,还可以传输音频、视频、超链接、…

HTTP接口测试

目录 一、什么是HTTP 1、定义 2、HTTP工作架构 3、结构(取自菜鸟网站) 3.1 客户端请求消息 3.2 服务端请求消息 二、如何进行HTTP接口测试 三、HTTP常用请求方式 1、GET请求 1.1 不带参数的GET请求 1.2 带参数的GET请求 2、POST请求 2.1 …

CAD图纸如何从低版本转换成高版本

我今天在绘制CAD图纸的时候突然发现,换个电脑后绘制好的CAD图纸打不开了。之后分析才发现是之前绘图的时候,保存的CAD图纸版本过低。这就需要把CAD图纸从低版本转换成高版本。今天小编就在这里给大家演示一下。 1.在电脑浏览器里搜索 xun jie CAD&#…

免费在线转换,CAD转换成PDF

为了提高我们绘图工作的效率,经常需要转换CAD文件的版本格式,例如把CAD转换成PDF格式。有没有一种不需要安装转换软件就可以快速操作方法呢?今天小编给大家介绍一种行之有效的方法,在线CAD转换器就可以帮我们快速完成这一操作。 …

cad转换器高版本转低版本怎么转?

CAD图纸由于版本过高导致无法查看和传输,是CAD制图工作中的小伙伴们都会遇到的问题之一。这一问题虽然不是什么大问题,但是也非 常影响我们正常的制图工作,该如何解决呢?今天我们就一起讨论一下,cad转换器高版本转低版…

cad批量转换低版本如何实现?

在CAD制图工作中,我们可能会遇到一些比较麻烦的问题。其中就有CAD图纸由于版本过高导致无法打开查看的问题,而且有时候CAD图纸过多,若是每 一张单独查看也会很麻烦。这时候该如何解决呢?cad批量转换低版本如何实现?今天…

怎么把高版本的CAD文件转换成低版本的

我们在打开CAD文件的时候有经常出现打不开的现象,这时候软件就会提示CAD版本过高,这时候就需要将CAD文件转换低版本了,那么怎么把高版本的CAD文件转换成低版本的呢? 这里小编就用迅捷PDF在线转换器,教大家CAD版本转换。…

CAD版本转换怎么操作?几个步骤教会你

CAD是建筑设计行业经常使用的图纸文件,但是有些图纸的格式可能会因为版本太高或者太低而打不开。不知道小伙伴们遇到这种情况是不是也束手无策呢?其实我们只需要使用一些软件来转换CAD版本即可。那么小伙伴们知道CAD版本转换怎么操作吗?还不了…

CAD版本转换怎么操作?这些方法了解了吗

目前市场上有很多CAD版本。每个人的使用习惯和计算机配置都不一样。不同版本的CAD软件生成不同的CAD文件。虽然制作CAD文件的操作方法相似,但新旧版本存在兼容性问题。高版本的CAD软件可以看到低版本软件制作的设计图纸,但低版本工具看不到高版本工具制作…

cad在线转换低版本_资源分享/CAD版本转换器

我们收集你的掌上玩物,我们COPY YOU。 YOU知唔知 CAD转换器 ◎消息来源:网络资源平台 文件预览 使用说明 1.将高版本文件拖动到转换器界面中打开 2.文件——另存问——类型选择低版本CAD格式,保存后的低版本文件就可以直接使用低版本CAD打…