这是我参与「第三届青训营 -后端场」笔记创作活动的的第4篇笔记
- http协议 超文本传输协议:除了文本之外还有视频,音乐。
ps:超文本的基本特征就是可以超链接文档;你可以指向其他位置,该位置可以在当前的文档中、局域网中的其他文档,也可以在因特网上的任何位置的文档中。这些文档组成了一个杂乱的信息网。目标文档通常与其来源有某些关联,并且丰富了来源;来源中的链接元素则将这种关系传递给浏览者。
为什么需要协议:明白传输的数据从哪里开始,从哪里结束。
需要原数据描述数据类型
http协议内容:
- http框架的设计与实现
OSI七层网络模型:我们只需要聚焦于某一层,而不用关心下层
我们的http框架也应该采用分层设计:上到下:应用层,中间件层,路由层,协议层,网络层
- 性能修炼之道
3.1 应用层设计
提供合理的API
3.2 中间件层设计
洋葱模型
在上图中,洋葱内的每一层都表示一个独立的中间件,用于实现不同的功能,比如异常处理、缓存处理等。 每次请求都会从左侧开始一层层地经过每层的中间件,当进入到最里层的中间件之后,就会从最里层的中间件开始逐层返回。 因此对于每层的中间件来说,在一个请求和响应周期中,都有两个时机点来添加不同的处理逻辑。
3.3 路由的设计
前缀匹配树
实际上就是为url匹配对于的处理函数
3.4 协议层设计
抽象出合适的借口
3.5 网络层设计:
网络模型