http协议
SAAS:software as a service 软件即服务 PAAS:platform as a service品牌即服务
前端和后端通过HTTP的协议来进行交互,这是一种新的开发模式
VUE&React组件来和后端来进行交互的
前端的技术栈:
VUE&React
后端:
主流的开发语言:Java,Python,Go
之间是通过HTTP的协议来进行交互的
前端:WEB/APP/PAD
前端发送请求到后端(拉钩网的服务器),服务器把招聘的数据返回来
最后前端拿到返回来的数据,展示在WEB/APP等PAD上
客户端(前端)
服务端(后端)
1、我们拿出客户端(手机),扫描二维码
2、服务端(XX大数据中心)把扫描的结果信息返回给客户端(手机)
3、客户端(手机)接收服务端返回来的数据
4、最后把结果信息展示在手机上
接口(API)测试的技术学习的内容:
1、HTT P的协议
2、主流的测试工具PostMan,JMeter
3、MockServer服务
4、代码级别的API测试框架
接口(API)测试的技术学习的内容:
1、HTT P的协议
2、主流的测试工具PostMan,JMeter
3、MockServer服务
4、代码级别的API测试框架
测试工作:
1、质量管理:软件测试理论以及处理问题成熟的思维方式
2、测试效率提升:目前提升测试效率最直接有效的手段的API自动化测试
金字塔模式
UI:功能测试,UI自动化测试
Service:API测试,API自动化测试,服务端测试开发领域
unit:单元测试(业内做的很少)
unit:代码级别的测试,最底层的测试
Service层:API测试
UI:功能测试
1、软件测试经济学
越底层的需要投入更多的精力和时间去做,越上层的投入少量的精力去做
2、测试效率
API测试效率很高的,执行是按秒来计算的,而UI层执行效率是很慢的,执行是按秒来计算的
WEB1.0
WEB2.0
移动互联网
云计算/大数据时代
底层的基础架构是HTTP的协议
城市大脑
HTTP的架构上延伸起来的
分布式架构/微服务架构(SAAS/PAAS)交互的方式:
1、HTTP的协议来进行交互(轻量级的REST API的协议来进行交互的)
2、gRPC的远程过程调用来进行交互的
1989年的3⽉份了,诞⽣了HTTP的协议,HTTP协议,也可以称呼为“超⽂本传输协议”
目前使用的是HTTP/1.1的版本,目前最新的版本是HTTP/2.0的版本
HTTP/2.0比起HTTP/1.1的版本来说是非常优秀的,支持海量数据的传输,但是没有大规模化的使用,目前gRPC的洗衣使用的是HTTP2.0的协议来进行设计的。
gRPC的协议又称呼为:远程过程调用(比如我访问的服务器是在西方或者是在欧美,等于我访问它的速度是在我自己家里访问的速度是一样的)。
gRPC的协议是由Google提出来的
facebook--->apache thrift
alibaba-->dubbo的协议
RPC 分布式框架的分支:
1、gRPC
2、Aapache Thrift
3、Dubbo
三次握手的设计
为了数据的安全性(客户端与服务端数据传输的安全性),设计了三次握手,来避免这个问题
1、客户端发送请求
2、服务端收到请求,服务端会和客户端之间进行确认,告诉客户端,说我收到了请求
3、服务端把数据发送给另外一个客户端,另外一个客户端收到数据
4、另外一个客户端收到数据后,会告诉服务端它收到了请求以及数据
URI可以称为统⼀资源标识符,⽽URL是统⼀资源定位符。
HTTP是应⽤层的协议,它不需要刻意的去关注底层⽹络传输层协议的东⻄。(TCP/IP)
HTTP的完整请求流程:
1、客户端与服务端之间建立TCP的连接请求
2、客户端发送Request请求给服务端
3、服务端Response响应回复客户端的请求
4、客户端与服务端之间的TCP连接请求关闭
2、客户端向服务端发送Request请求:
A、请求方法(请求方法:
1、GET:获取资源
2、POST:添加资源
3、PUT:修改资源
4、DELETE:删除资源)
B、请求头(消息体)
C、请求地址
D、请求参数
3、服务端Response响应回复客户端的请求:
A、协议状态码
B、响应头(响应体)
C、响应数据
GET请求方法:GET请求方法是在Query Params里面填写的,也就是说填写后,是在URL后它的格式是?key1=value1&key2=value2
所以GET方法的请求参数又称呼为路径参数
通信模式:
1、同步通信
缺陷:
A、超时
B、客户端的请求可能存在逻辑上的错误或者说非常大的计算逻辑
同步通信模式有时候又称呼为:请求/响应模式
2、异步通信
由于同步交互存在超时以及堵塞的情况,所以也就有了异步的交互。在异步的交互中,客户端和服务端互相不需要关注对⽅的存在,只需要关注对应的MQ的消息,客户端与服务端的交互主要是会通过MQ的消息中间作为消息的传递来进⾏交互的,具体交互如下:
在客户端与服务端在进⾏交互的时候,通信模式主要分为同步通信和异步通信。同步通信简单的可以理解为客户端发送请求给服务端,服务端必须得回应客户端的请求。所以同步通信它存在如下的缺点,具体为:
容易超时,客户端发送请求后,服务端迟迟没有回应客户端的请求
如果请求是存在⼤的计算量和逻辑存在问题,就会导致请求堵塞,后⾯的都积压
MQ组件:RabbitMQ和Kafka
RabbitMQ与Kafka的区别:
Kafka能够处理海量的数据(亿为单位),它的性能是非常好的,但是对数据的一致性要求不高
RabbitMQ:对数据的一致性可靠性的要求是非常高的,但是它的性能是很差劲的
MQ=MQ消息队列服务器
总结
1、什么是HTTP的协议
2、微服务主流的协议是什么?
3、三次握手的流程
4、HTTP的完整请求流程
5、通信模式有哪些?
6、MQ消息队列服务器有哪些?区别是什么
7、常用的请求方法有哪些
8、HTTP的协议组成部分
实战:
1、浏览器查看网络请求
2、PostMan发送GET的请求
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现