Http 1.0、 2.0 跟3.0

HTTP(Hypertext Transfer Protocol)的不同版本在互联网的发展历程中扮演了关键角色,每一代版本都在努力提升网络应用的效率、安全性和互操作性。下面是HTTP/1.0、HTTP/2和HTTP/3的主要特点和改进之处:

HTTP/1.0

  • 发布年代:1996年
  • 特点:
    • 每个请求/响应都建立在一个独立的TCP连接上。
    • 请求和响应都是明文传输,没有加密。
    • 缺乏错误状态码的标准化。
    • 不支持持久连接(Keep-Alive),每次请求后连接会关闭,增加了延迟。
    • 缺少缓存控制和条件GET请求的支持,导致重复的数据传输。

HTTP/1.1

尽管通常被归类为与HTTP/1.0不同的版本,但实际上HTTP/1.1是HTTP/1.0的改进版,发布于1997年。它解决了HTTP/1.0的一些问题:

  • 持久连接:默认开启Keep-Alive,允许在同一个TCP连接上发送多个请求,减少了连接建立和关闭的开销。
  • 管线化:客户端可以在收到服务器的响应之前连续发送多个请求,提高了效率。
  • 缓存改进:添加了更精细的缓存控制指令,如ETag和If-None-Match。
  • 错误状态码:标准化了错误状态码,便于诊断和调试。
  • Host头:强制要求每个请求都包含Host头,以便单个服务器可以处理多个域名。

HTTP/2

  • 发布年代:2015年
  • 特点:
    • 二进制协议格式:更高效、更健壮,易于解析。
    • 多路复用:在一个TCP连接上同时处理多个请求流,消除了HTTP/1.x中的一次一请求的限制,显著降低了延迟。
    • 头部压缩:通过HPACK算法压缩请求和响应头,减少带宽消耗。
    • 服务器推送:服务器可以主动向客户端推送资源,而无需等待客户端请求。
    • 优先级和流控制:请求可以设置优先级,且流控机制防止了服务器过载。

HTTP/3

  • 发布年代:2021年
  • 特点:
    • 基于QUIC协议:QUIC(Quick UDP Internet Connections)是Google开发的一种新的传输层协议,运行在UDP之上,提供了类似于TCP的可靠性,但具有更低的延迟和更好的错误恢复能力。
    • 连接迁移:QUIC允许在不中断连接的情况下改变网络路径或IP地址,这对于移动设备特别有用。
    • 加密:所有HTTP/3流量都经过TLS加密,提高了安全性。
    • 更低的延迟和更高的吞吐量:QUIC的连接建立更快,且通过多路复用和流控制机制进一步提高了性能。
posted @ 2024-07-01 16:17  使用D  阅读(3)  评论(0编辑  收藏  举报