接口测试
一,SAAS,PAAS
SAAS:software as a service 软件即服务
PAAS:platform as a service 平台即服务
前端和后端通过HTTP的协议来进行交互,这是一种新的开发模式
前端:通过VUE&React组件来和后端来进行交互的
HTTP协议
超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
三次握手
第一次握手:client向server发送resquest请求
第二次握手:server收到请求,后发送数据包给client确认连接
第三次握手:client和server建立正确连接,client开始向server传输数据
1、客户端发送请求
2、服务端收到请求,服务端会和客户端之间进行确认,告诉客户端,说我收到了请求
3、服务端把数据发送给另外一个客户端,另外一个客户端收到数据
4、另外一个客户端收到数据后,会告诉服务端它收到了请求以及数据
URI可以称为统⼀资源标识符,⽽URL是统⼀资源定位符
HTTP的完整请求流程:
1、客户端与服务端之间建立TCP的连接请求
2、客户端发送Request请求给服务端
3、服务端Response响应回复客户端的请求
4、客户端与服务端之间的TCP连接请求关闭
10万张图片
一次TCP的连接请求
有多少资源,就有多少Request,以及Response回复
一次TCP的连接关闭
通信模式:
1、同步通信(请求响应模式)
缺陷:
A、超时
B、客户端的请求可能存在逻辑上的错误或者说非常大的计算逻辑 在客户端与服务端在进⾏交互的时候,通信模式主要分为同步通信和异步通信。同步通信简单的可以理解为客户端 发送请求给服务端,服务端必须得回应客户端的请求。所以同步通信它存在如下的缺点,具体为: 容易超时,客户端发送请求后,服务端迟迟没有回应客户端的请求 如果请求是存在⼤的计算量和逻辑存在问题,就会导致请求堵塞,后⾯的都积压
2、异步通信
message 由于同步交互存在超时以及堵塞的情况,所以也就有了异步的交互。在异步的交互中,客户端和服务端互相不需要 关注对⽅的存在,只需要关注对应的MQ的消息,客户端与服务端的交互主要是会通过MQ的消息中间作为消息的 传递来进⾏交互的,具体交互如下:
MQ组件(MQ消息队列服务器):
RabbitMQ和Kafka RabbitMQ与Kafka的区别:
Kafka能够处理海量的数据(亿为单位),它的性能是非常好的,但是对数据的一致性要求不高
RabbitMQ:对数据的一致性可靠性的要求是非常高的,但是它的性能是很差劲的