1.HTTP协议是什么?
超文本传输协议。
需要明确的边界,协议开始和结束,能够携带信息
2.协议里有什么
请求行/状态行 请求头/响应头 请求体/响应体
3.请求流程
业务层 服务治理层 中间件层 路由层 协议编(解)码层 传输层
4.不足与展望
HTTP1 队头阻塞 传输效率低 明文传输不安全 HTTP2 多路复用 头部压缩 二进制协议 QUIC 基于UDP实现 解决队头阻塞 加密减少握手次数 支持快速启动
HTTP是一种保存状态协议,即无状态协议,这是为了更快的处理大量的事务
5.框架设计
专注性 扩展性 复用性
一个切实可行的复杂系统势必是从一个切实可行的简单系统发展而来的。从头开始 设计的复杂系统根本不切实可行,无法修修补补让它切实可行。你必须由一个切实 可行的简单系统重新开始。
6.中间件需求:
配合Handler实现一个完整的请求处理生命周期
拥有预处理逻辑与后处理逻辑
可以注册多中间件
对上层模块用户逻辑模块易用
7.路由设计
框架路由实际上就是为URL匹配对应的处理函数(Handlers)
8.协议层设计
抽象出合适的接口
9.网络层设计
网络模型
10.性能优化
针对网络库的优化 针对协议的优化