写点什么

软件测试 | 常见接口协议

  • 2023-02-21
    北京
  • 本文字数:1207 字

    阅读完需:约 4 分钟

1.接口协议简介

系统中的服务与服务之间传递数据包,往往会因为不同的应用场景,使用不同的通信协议进行数据包传递。如我们访问网站常常使用 HTTP,文件传输使用 FTP,邮件发送使用 SMTP,上述的 3 种类型的协议都处于网络模型中的应用层。除了应用层的常用协议之外,还会用到传输层的 TCP、UDP,以及 Restful 架构和 RPC 等。

2.网络协议介绍

在了解具体的网络协议之前,我们需要先了解 OSI 七层模型、TCP/IP 四层模型、五层体系结构这 3 种不同的网络模型。图 6-3 所示是网络协议模型对比图。


  • OSI 参考模型是一个在制定协调进程间通信标准时所使用的概念性框架,它并不是一个标准。

  • TCP/IP 四层模型是网际网络的基础通信架构。常规为是简化的七层 OSI 模型。

  • 五层体系结构是 OSI 和 TCP/IP 的综合,实际应用还是 TCP/IP 的四层结构。

  • TCP/IP 协议栈是对应 TCP/IP 四层模型所使用的具体的网络协议。

3.TCP

TCP 是在传输层中,一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP 的工作方式是,在建立连接的时候需要进行“三次握手”,终止连接时需要进行“四次握手”。“三次握手”和“四次握手”是 TCP 的重要知识点,在后面的章节会通过实战和理论结合的费那事具体介绍。


适用场景


TCP 的面向连接、错误重传、拥塞控制等特性,适用于可靠性高的通信场景,如涉及用户信息的数据传输。

4.UDP

UDP 一旦把应用程序发给网络层的数据发送出去,就不保留数据备份。所以,UDP 常常被认为是不可靠的数据包协议。


适用场景


UDP 不需要提前建立连接、实现简单的特性,非常适用于实时性高的网络通信场景,如流媒体、在线游戏等。

5.HTTP

HTTP 是接口测试中最常见的协议,也是用于分布式、协作式和超媒体信息系统的应用层协议。HTTP 是万维网数据通信的基础。客户端向服务端发送 HTTP 请求,服务端则会在响应中返回所请求的数据。在测试过程中,我们常常需要检验系统的请求和响应结果,所以,了解 HTTP,对于我们进行接口测试来说,是重中之重。


后面章节将会具体介绍 HTTP 和 HTTPS 的区别,以及 HTTP 的基础知识。

6.REST 架构

REST(REpresentation State Transfer)是 Roy Thomas Fileding 博士于 2000 年在他的论文中提交的一种万维网软件架构风格。REST 指的是一组架构约束条件和原则,其目的是便于不同的软件在网络中传递信息。RESTful 指的是满足某些约束条件和原则的应用程序或设计。


HTTP 请求方法在 RESTful API 中的典型应用如表 6-1 所示。


7.RPC 协议

RPC 的英文全称为 Remote Procedure Call,英文全称很好地诠释了 RPC 协议的概念,即以本地代码调用的方式实现远程执行。RPC 主要用于公司内部的服务调用。RPC 的优点在于信息传输效率更高、性能损耗更低、自带负载均衡策略。


常用的 RPC 框架


目前在行业内常用的 RPC 框架主要如下。


1)Dubbo: Java 基础之上的高性能 RPC 框架。


2)gRPC:高性能通用 RPC 框架,基于 Protocol Buffers(简称 PB ,PB 是一个语言中立、平台中立的数据序列化框架)设计的。


3)Thrift: 与 gRPC 类似的多语言 RPC 框架。


搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核

用户头像

社区:ceshiren.com 2022-08-29 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料、实事更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬

评论

发布
暂无评论
软件测试 | 常见接口协议_测试_测吧(北京)科技有限公司_InfoQ写作社区