HTTP框架修炼之道 | 青训营笔记

71 阅读1分钟

HTTP框架修炼之道学习笔记

什么是HTTP协议

HTTP:Hyper Text Thansfer Protocal,超文本传输协议。
HTTP是网络层的协议,负责指定客户端如何给服务器发送信息以及服务器如何响应。

网络模型

OSI七层网络模型

  • 应用层(Application)
  • 表示层(Presentation)
  • 会话层(Session)
  • 传输层(Transport)
  • 网络层(Network)
  • 数据链路层(Data Link)
  • 物理层(Physical)

TCP/IP四层网络模型

  • 应用层
  • 传输层
  • 网络层
  • 数据链路层

系统的分层设计

应用层(Application)

应用层:提供合理的API供下层调用。
应用层包含Context、Request、Response、Handler

中间件(Middleware)

中间件:拥有预处理逻辑及后处理逻辑,配合Handler实现一个完整的请求处理生命周期。
中间件包含Recovery、Circuibreak、Timeout、Access log

路由(Route)

路由:为URL匹配相应的处理函数。
路由包含Add、Find、Route Tree、Route Group

协议层(Codec)

协议层:抽象出合适的接口。
协议层包含Websocket、HTTP1、Quic、HTTP2

网络层(Transport)

网络层:构建网络模型。
网络层包含Netpoll、Go net

个人思考与总结

Q:为什么网络设计时采用分层结构
A:层与层之间相互独立,在每层有修改时不用修改其他层,增加了复用性和稳定性