2022.7.18学习笔记
一、什么是HTTP的协议?
- 1989年的3⽉份了,诞⽣了HTTP的协议,HTTP协议,也可以称呼为“超⽂本传输协议”
- 目前使用的是HTTP/1.1的版本,目前最新的版本是HTTP/2.0的版本
- HTTP/2.0比起HTTP/1.1的版本来说是非常优秀的,支持海量数据的传输,但是没有大规模化的使用,目前gRPC的协议使用的是HTTP2.0的协议来进行设计的。
gRPC的协议又称呼为:远程过程调用(比如我访问的服务器是在西方或者是在欧美,等于我访问它的速度是在我自己家里访问的速度是一样的)。
二、微服务主流的协议是什么?
分布式架构/微服务架构(SAAS/PAAS)交互的方式:
1、HTTP的协议来进行交互(轻量级的REST API的协议来进行交互的)
2、gRPC的远程过程调用来进行交互的
RPC 分布式框架的分支:gRPC;Aapache Thrift ;Dubbo
gRPC是Google提出来的
facebook提出Aapache Thrift 协议
alibaba提出Dubbo的协议
三、三次握手的流程
1、为了数据的安全性(客户端与服务端数据传输的安全性),设计了三次握手,来避免这个问题
2、三次握手简述:
a:客户端发送请求
b:服务端收到请求,服务端会和客户端之间进行确认,告诉客户端,说我收到了请求
C:服务端把数据发送给另外一个客户端,另外一个客户端收到数据,会告诉服务端它收到了请求以及数据
四、HTTP的完整请求流程
1、客户端与服务端建立TCP连接请求
2、客户端发送Request请求给服务端
3、服务端Response响应回复客户端的请求
4、客户端与服务端之间TCP连接请求关闭
五、通信模式有哪些?
1、同步通信(请求/响应模式):同步通信简单的可以理解为客户端发送请求给服务端,服务端必须得回应客户端的请求
缺陷:
① 超时
② 客户端的请求存在逻辑上的错误或者说非常大的计算逻辑
2、 异步通信:由于同步交互存在超时以及堵塞的情况,所以也就有了异步的交互。在异步的交互中,客户端和服务端互相不需要关注对⽅的存在,只需要关注对应的MQ的消息,客户端与服务端的交互主要是会通过MQ的消息中间作为消息的传递来进⾏交互的。
六、MQ消息列队服务器有哪些?区别是什么?
MQ(MQ消息队列服务器)组件:RabbitMQ和Kafka
①、Kafka能够处理海量的数据(亿为单位),它的性能是非常好的,但是对数据的一致性要求不高
②、RabbitMQ:对数据的一致性可靠性的要求是非常高的,但是它的性能是很差劲的
七、常用的请求方式有哪些?
1、GET:获取资源
GET请求方法:GET请求方法是在Query Params里面填写的,也就是说填写后,是在URL后它的格式是?key1=value1&key2=value2所以GET方法的请求参数又称呼为路径参数
2、POST:添加资源
3、PUT:修改资源
4、DELETE:删除资源
八、HTTP的协议组成部分?
1、请求方法
2、请求头(消息体)
3、请求地址(URL)
4、请求参数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架