前言
本节课介绍了HTTP框架,并且详细分析其中的设计与实现,之后还进行了企业实践讲解。
1.HTTP协议
1.介绍
-
HTTP:超文本传输协议
-
协议中内容:请求行/状态行;请求头/状态头;请求体/状态体
-
常见方法名:GET,HEAD,POST,PUT,DELETE,CONNECT,OPTIONS,TRACE,PATCH
-
状态码
- 1xx:信息类
- 2xx:成功
- 3xx:重定义
- 4xx:客户端错误
- 5xx:服务端错误
-
网络请求流程:
- 业务层->服务治理层+中间件层->协议编(解)码层->传输层->协议编(解)码层->路由层->服务治理层+中间件层->业务层
-
不足
- HTTP1:队头阻塞,传输效率低,明文传输不安全
- HTTP2:多路复用,头部压缩,二进制协议
- HTTP3:基于UDP实现,解决队头阻塞,加密减少握手次数,支持快速启动
2.设计
- 分层设计:(专注性、扩展性、复用性)
- 特点:高内聚、低耦合;易复用;高扩展性
- 具体每层结构包含如下:
- 应用层设计:提供合理的API
- 中间件设计:洋葱模型