HTTP 是基于
TCP/IP 协议而建立 Web 基础协议,从 1989 年早期的简单
HTTP/0.9 单行协议开始,至 1996
年逐步扩展了状态码、协议头等特性发展到 HTTP/1.0,然后在
1997 年的 HTTP/1.1 增加了 TCP
连接复用、流水线支持、响应分块、缓存控制、内容协商等特性。2015 年
HTTP/2 协议正式标准化之后,传统 HTTP
的文本协议被二进制协议替代,让并行的请求在同 1 个 TCP
连接中处理,并移除了header
中的重复数据,大幅提升通信效率。
在各类现代化 Web 服务器与开发框架群雄并起的年代,无论是 Python 的Django、Tornado,还是 Java 的Servlet或者是 Go 上的BeeGo,其本质上都是基于HTTP 协议的封装。因此了解 HTTP 相关协议规范能够提升 Web 开发的透明度,能够从协议角度理解 Web 报文的通信过程,而非仅仅从各类 Web 开发框架及其 API 封装的角度。