HTTP (Hypertext Transfer Protocol) 是一种用于分布式、协作式和超媒体信息系统的应用层协议。随着互联网的发展,HTTP 协议也经历了多个版本的演进,以适应不同的需求和技术进步。
版本
HTTP 1.0
- 请求响应模型:HTTP 1.0 采用的是简单的请求-响应模型,每个 TCP 连接只能处理一个请求。
- 默认关闭连接:每次请求完成之后,服务器会主动关闭 TCP 连接,下次再请求时需要重新建立新的连接。
- 性能问题:由于每次请求都需要建立新的连接,这导致了额外的延迟和开销,特别是在加载包含多个资源(如图片、脚本等)的网页时。
- 缺乏缓存机制:HTTP 1.0 缺乏有效的缓存控制,这使得浏览器无法有效地利用缓存来减少网络流量。
HTTP 1.1
- 持久连接:HTTP 1.1 引入了持久连接的概念,默认情况下,TCP 连接在请求完成后不会立即关闭,可以复用同一个连接发送多个请求,这大大提高了效率。
- 管道化:在持久连接的基础上,HTTP 1.1 允许客户端在没有收到前一个请求的响应之前就发送新的请求,这种特性称为管道化。
- 增强的缓存控制:HTTP 1.1 增加了更多的缓存控制头字段,如
Cache-Control
,使得缓存机制更