HTTP协议部分知识点思考 | 青训营

47 阅读2分钟

HTTP协议

HTTP:超文本传输协议(Hyper Text Transfer Protocol),是用于从万维网服务器传输超文本到本地浏览器的传送协议。
HTTP是基于客户/服务器模式,且面向连接的。首先客户与服务器建立连接,之后客户向服务器提出请求,等到服务器接受请求,就根据请求返回相应的文件作为应答,最后客户与服务器关闭连接。

POST请求

POST请求是一种用于向指定的资源提交数据的请求方法。它是HTTP协议中最常用的请求方法之一,常用于向服务器发送数据,用于创建、更新或处理资源。POST请求与GET请求不同,它向服务器发送的数据通常包含在请求的主体中,而不是作为URL的一部分。这使得POST请求适用于传输大量或敏感数据,因为它们不会直接暴露在URL中。

HTTP协议的不足

HTTP1HTTP2QUIC
队头阻寒多路复用加密减少握手次数
---------
传输效率低头部压缩解決队头阻塞
---------
明文传输不安全二进制协议支持快速启动
---------

HTTP框架

TCP/IP四层概念模型:应用层、传输层、网络层、数据链路层。
应用层需要提供合理的API。
中间件需求:

  • 配合 Handler 实现一个完整的请求处理生命周期
  • 拥有预处理逻辑与后处理逻辑
  • 可以注册多中间件
  • 对上层模块用户逻辑模块易用

路由设计

框架路由实际上就是为 URL 匹配对应的处理函数 (Handlers)

  • 静态路由:1a/6/、 1a/6/d
  • 参数路由:1a/:id/c (/a/6/c, /a/d/c) ‹ /*all
  • 路由修复:1a/6<->1a/6/
  • 冲突路由以及优先级:1a/6、/:id/c
  • 匹配 HTTP 方法
  • 多处理函数:方便添加中间件
  • ……

总结与反思

这节课老师重点分析了HTTP请求时内部框架的各个层的应用,以及HTTP框架的优劣及优化方法,为之后不同协议的学习可以提供一些思路。