HTTP/1.1相比其前身HTTP/1.0引入了许多改进和新特性,旨在提高效率、减少延迟,并更有效地利用网络资源。主要特性包括:
- 持久连接:HTTP/1.1默认启用持久连接(也称为连接复用),这意味着在一个TCP连接上可以传输多个HTTP请求和响应,而不需要为每个请求/响应对打开一个新的连接,从而减少了连接建立的开销和延迟。
- 管道化:HTTP/1.1支持请求的管道化,允许客户端在收到前一个响应之前发送多个请求。这可以进一步减少通信延迟,尽管在实践中由于各种原因(如服务器和代理不完全支持等),这一特性并未广泛使用。
- 分块传输编码:这允许服务器动态生成内容并在完全生成内容之前开始发送响应,从而减少了首字节的延迟时间。
- 缓存控制:HTTP/1.1引入了更加复杂和强大的缓存控制机制,包括通过
Cache-Control
头部字段进行精细控制,这有助于减少客户端重复请求同一资源的情况,降低服务器负载以及减少网络拥塞。 - 内容协商:允许客户端和服务器就响应的最佳格式进行交流。例如,根据Accept语言头部信息选择合适的语言版本的资源。
- 错误处理与状态代码扩展:HTTP/1.1增加了许多新的状态代码,为错误处理提供了更多的上下文信息。