接口测试 - 了解接口测试和接口协议

文章目录

  • [1. 接口测试概念](#1. 接口测试概念)
  • [2. 接口协议](#2. 接口协议)
    • [2.1 网络模型](#2.1 网络模型)
    • [2.2 网络常见接口协议](#2.2 网络常见接口协议)
    • [2.3 HTTP 协议详解](#2.3 HTTP 协议详解)
      • [2.3.1 请求与响应基本信息:](#2.3.1 请求与响应基本信息:)
      • [2.3.2 URL 和 URI](#2.3.2 URL 和 URI)
      • [2.3.3 请求报文](#2.3.3 请求报文)
      • [2.3.4 响应报文](#2.3.4 响应报文)
      • [2.3.5 Http响应状态码](#2.3.5 Http响应状态码)
    • [2.4 Restful 架构](#2.4 Restful 架构)
  • 总结

✨✨✨学习的道路很枯燥,希望我们能并肩走下来!

编程真是一件很奇妙的东西。你只是浅尝辄止,那么只会觉得枯燥乏味,像对待任务似的应付它。但你如果深入探索,就会发现其中的奇妙,了解许多所不知道的原理。知识的力量让你沉醉,甘愿深陷其中并发现宝藏。



本文开始

1. 接口测试概念

  • 什么是接口测试呢?

    接口测试:接口测试是检查数据的交换、传递和控制管理过程;模拟客户端调用后端API接口,验证响应与预期是否一样;

  • 是什么接口?

    • 接口:不同的系统之间相互连接的部分,是一个传递数据的通道;
    • 接口分为:
      内部接口:开发写的API接口;
      外部接口:第三方接口,如:第三方登录,第三方支付;
  • 接口测试的意义是什么?

    随着系统越来越复杂,接口越来越多,测试方法成本上升,测试效率会下降;

通过分层,进行接口测试,保证服务端质量;

  • 分层测试体系: 马丁福勒大佬提出
    提出:越往UI层,发现 Bug 的时间越晚,成本越高
    接口测试(Service)相比 UI 测试,可以更早发现问题,更快的质量反馈

2. 接口协议

2.1 网络模型

OSI七层模型:书本上的-理论的,实际不是

五层体系结构:为了讲清网络原理划分的

实际使用就是TCP/IP四层模型

2.2 网络常见接口协议

接口测试必须了解常见的协议

接口传输一般使用的是HTTP/HTTPS协议

常见接口协议:

2.3 HTTP 协议详解

重点理解HTTP协议

下面是简单介绍:

重点可以看这里有详细版:点击查看 → http协议详解

2.3.1 请求与响应基本信息:

  • 请求
    • 请求行:method url protocol
    • 请求方法:GET、POST、PUT、DELETE、HEAD
    • 请求头: Host Cookie User-Agent
    • 请求参数 query
    • 请求体:JSON XML FORM
  • 响应:
    • 响应状态行
    • 响应头
    • 响应体

2.3.2 URL 和 URI

  • URI,统一资源标识符,用来唯一的标识一个资源。
  • URL,统一资源定位符,它是一种具体的 URI
  • URL 结构:https://www.douyin.com/s?modal_id=758404\&rsv_spt=1
    • 协议:https
    • 域名:https://www.douyin.com
    • 端口:跟在域名后面,域名和端口之间使用":"作为分隔符,非必须,如果省略端口部分将采用默认端口
    • 路径:/s
    • 请求参数:modal_id=758404&rsv_spt=1

2.3.3 请求报文

bash 复制代码
GET http://crl.amazontrust.com HTTP/1.1
Connection: Keep-Alive
Accept: */*
User-Agent: Microsoft-CryptoAPI/10.0
Host: crl.rootca1.amazontrust.com

请求报文:

2.3.4 响应报文

html 复制代码
HTTP/1.1 200 OK
Content-Type: binary/octet-stream
Content-Length: 651
Connection: keep-alive
Last-Modified: Tue, 16 Dec 2025 xxx GMT
x-amz-server-side-encryption: AES256
x-amz-version-id: tJQubiR8die7WGkYIiKymcACtEbvX8B6
Accept-Ranges: bytes

body

2.3.5 Http响应状态码

  • 1xx 临时响应,表示通知信息,请求收到了或正在进行处理
  • 2xx 表示成功,接受或知道了
    200 成功
  • 3xx 表示重定向,要完成请求还必须才去进一步的行动
    301 永久移动
    302 临时移动
  • 4xx 表示客户端请求错误
    403 未授权
    404 未找到
  • 5xx 表示服务端错误
    500 服务器内部错误
    503 服务不可用

2.4 Restful 架构

Restful全称:Representational State Transfer

借助于 HTTP 协议的基本请求方法代表资源的状态切换,是一种规范,可以不遵守;

通过请求查看请求类型:

GET:获取资源

POST:新增或者更新

PUT:更新资源

DELETE:删除资源

总结

✨✨✨各位读友,本篇分享到内容是否更好的帮助你理解,如果对你有帮助给个👍赞鼓励一下吧!!
🎉🎉🎉世上没有绝望的处境,只有对处境绝望的人。
🎉🎉🎉一遇挫折就灰心丧气的人,永远是个失败者。而一向努力奋斗,坚韧不拔的人会走向成功。
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

相关推荐
三流架构师19 小时前
说话技巧资源合集
经验分享
三水不滴20 小时前
Elasticsearch 实战系列(二):SpringBoot 集成 Elasticsearch,从 0 到 1 实现商品搜索系统
经验分享·spring boot·笔记·后端·elasticsearch·搜索引擎
C羊驼21 小时前
C 语言:哥德巴赫猜想
c语言·开发语言·人工智能·经验分享·笔记·算法·课程设计
weixin_6681 天前
2026年AI Agent四大技术突破解析
人工智能·经验分享
T700_6751 天前
文件快速迁移软件哪家强?选对工具,数据搬家无忧
经验分享
优化控制仿真模型1 天前
26年人教版三年级下册数学《第一单元测试卷》(含答案),电子版可打印
经验分享
朱一头zcy1 天前
[IDEA不同版本中]配置完Maven后 重启/导入新项目就恢复默认配置(C盘.m2)的解决方案
经验分享·maven·intellij-idea
优化控制仿真模型1 天前
2015-2025年英语六级历年真题及答案解析PDF电子版
经验分享·pdf
MaximusCoder1 天前
等保测评命令——Centos Linux
linux·运维·经验分享·python·安全·centos