HTTP 1.0 和 HTTP 1.1 是两个不同版本的超文本传输协议(HTTP)。
- 持久连接:HTTP 1.0 使用短连接,每个请求/响应都需要建立一个新的TCP连接。HTTP 1.1 默认启用持久连接,允许多个请求和响应通过单个TCP连接进行传输,减少了建立和关闭连接的开销,提高了性能。
- 管道化:HTTP 1.0 中,客户端必须等待上一个请求的响应才能发送下一个请求,导致请求-响应的串行处理。HTTP 1.1 支持管道化,允许客户端在不等待响应的情况下发送多个请求,服务器也可以在不按顺序的情况下发送响应,提高了并发性和性能。
- 缓存控制:HTTP 1.1 引入了更灵活的缓存控制机制,允许客户端和服务器更精细地控制缓存行为。
- Host头部字段:HTTP 1.0 不支持Host头部字段,对于运行在同一IP地址上的多个网站而言,服务器无法从HTTP请求中分辨出客户端到底想访问哪一个网站。HTTP 1.1 引入了Host头部字段,允许一台服务器上托管多个网站,通过不同的Host头部字段来区分不同的站点。
- 带宽优化:HTTP1.0中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来了,并且不支持断点续传功能,HTTP1.1则在请求头引入了range范围请求,它允许只请求资源的某个部分,方便开发者充分利用带宽。
总的来说,HTTP 1.1 相较于 HTTP 1.0 在各方面都有明显的改进,更适合支持现代 Web 应用的需求。因此,大多数现代浏览器和服务器都默认使用 HTTP 1.1 协议。