接口测试-HTTP协议
接口测试定义
接?测试?被称为API测试,是软件测试的?种测试模式,它包含了两个维度,在狭义的?度上指的是对应?程序 接?的功能进?测试,在?义的维度上是指集成测试中,通过调?API测试整体的功能来完成度,可靠性,安全性 和性能。
金字塔模型:
unit(单元测试)
接口测试工具
如PostMan,JMeter,SoupUi等,除了?具还有在Python语?中很多 的第三?的库都是可以来做接?测试的,如:urllib,requests,aiohttp等。
协议
HTTP协议(又称超文本传输协议,默认端口80)
HTTP目前使用的版本是HTTP/1.1 最新的版本是HTTP/2.0
在微服务的架构模式下,使?的也是轻量级的 通信模式(REST API),在微服务的架构模式中,需要清楚的是它的通信可以分为同步通信模式和异步通信模式
1、客户端与服务端之间建立TCP的连接请求
2、客户端发送Request请求到服务端
3、服务端Response响应回复客户端的请求
4、客户端与服务端之间关闭TCP的连接请求
查看网络请求的步骤:
2.点击network
3.Ctrl+r
HTTP/2.0版本使用:在分布式架构以及微服务架构中,基于新?代的架构设计有了gRPC的协议,它就是基于HTTP/2.0的版 本来进?设计的。
gRPC的协议:应用在互联网金融的领域
TCP/IP协议按层次主要为:应?层,传输层,?络层,数据链路层。
应用层
应?层决定了向?户提供应?服务时通信的活动。?HTTP的协议和gRPC的协议就是属于应?层的协议。
传输层
应?层的下层是?络传输层,提供处于?络连接中的两台计算机之间的数据传输。
网络层
主要是?来处理?络上流动的数据包,所谓数据包就是?络传输中的最?单位,在该层协议中,规范了通过怎样的 路径到达?标计算机,并且把数据包传送给对?。
特点:1、保障数据传输 2、知道数据传输的目的地
数据链路层
主要是处理连接?络的硬件部分,如操作系统,硬件设备的驱动等。
三次握?
为了确保把数据能够安全送到?标的服务器,TCP协议内部使?了三次握?的策略机制,也就是说在TCP协议中,TCP 把数据包送去后,TCP会进?确认对?是否收到,或者是确认是否成功送达,那么三次握?主要使?了TCP的标 志,具体为:SYN和ACK。?先Client端发送连接请求报?,Server段接受连接后回复ACK报?,并为这次连接分配 资源。Client端接收到ACK报?后也向Server段发送ACK报?,并分配资源,这样TCP连接就建?了。总结三次握? 具体为:
第?次握?:起初两端都处于CLOSED关闭状态,Client将标志位SYN置为1,随机产??个值seq=x,并将该 数据包发送给Server,Client进?SYN-SENT状态,等待Server确认;
第?次握?:Server收到数据包后由标志位SYN=1得知Client请求建?连接,Server将标志位SYN和ACK都置 为1,ack=x+1,随机产??个值seq=y,并将该数据包发送给Client以确认连接请求,Server进?SYN-RCVD 状态,此时操作系统为该TCP连接分配TCP缓存和变量;
第三次握?:Client收到确认后,检查ack是否为x+1,ACK是否为1,如果正确则将标志位ACK置为1, ack=y+1,并且此时操作系统为该TCP连接分配TCP缓存和变量,并将该数据包发送给Server,Server检查ack 是否为y+1,ACK是否为1,如果正确则连接建?成功,Client和Server进?ESTABLISHED状态,完成三次握 ?,随后Client和Server就可以开始传输数据。
URI和URL
URI可以称为统?资源标识符,?URL是统?资源定位符。