2. 你可以说一下 http 版本的发展过程吗

你可以说一下 http 版本的发展过程吗

总结:0.9:只能发送 get,无状态。1.0:新增 post,请求头,状态码,cookie。1.1:新增 put/delete/options/patch,keep-alive,pipeline。2.0:二进制协议,多路复用,头部压缩。3.QUIC 协议,彻底解决TCP队头阻塞问题。


总体演进概述

版本 主要特性
HTTP/0.9 最基础版本,仅支持 GET 请求,无状态。
HTTP/1.0 引入 POST、请求头、状态码、Cookie 等,功能初步完善。
HTTP/1.1 支持更多方法(PUT/DELETE/PATCH 等),引入长连接和管道机制。
HTTP/2.0 基于二进制协议,支持多路复用、头部压缩,性能大幅提升。
HTTP/3.0 使用 QUIC 协议(基于 UDP),彻底解决 TCP 队头阻塞问题。

各版本详细说明

HTTP/0.9

  • 特点
    • 只允许客户端发送 GET 请求。
    • 没有请求头(Headers)和状态码。
    • 返回的内容只有 HTML 文档,没有元数据。
  • 缺点:功能极其有限,现已淘汰。

HTTP/1.0

  • 新增特性
    • 支持 POST 方法。
    • 引入请求头(如 User-AgentContent-Type)。
    • 增加状态码(如 200 OK, 404 Not Found)。
    • 支持 Cookie,实现简单会话跟踪。
  • 缺点:每次请求都需要建立新的 TCP 连接,效率较低。

HTTP/1.1

  • 改进点
    • 新增请求方法:PUT, DELETE, OPTIONS, PATCH 等。
    • 引入 keep-alive 实现持久连接,减少连接开销。
    • 支持请求管道化(pipelining),多个请求可一次性发出。
  • 现状:目前仍广泛使用,兼容性好。

HTTP/2.0

  • 核心技术
    • 使用二进制协议替代文本协议,解析更高效。
    • 支持多路复用,多个请求共用一个 TCP 连接。
    • 头部压缩(HPACK)减少传输体积。
  • 优势:显著提升加载速度和资源传输效率。
  • 常见实现:基于 TLS 的 ALPN 扩展。

HTTP/3.0

  • 核心变化
    • 底层协议由 TCP 改为 UDP,使用 Google 提出的 QUIC 协议
    • 彻底解决 TCP 中的队头阻塞问题
  • 优点
    • 更低延迟。
    • 更快连接建立。
  • 缺点
    • 兼容性差,部分中间设备不支持。
    • 部署成本高,尚未大规模普及。

相关推荐
ganshenml15 分钟前
【Web】证书(SSL/TLS)与域名之间的关系:完整、通俗、可落地的讲解
前端·网络协议·ssl
世界尽头与你19 分钟前
SSL 签名相关漏洞
网络·安全·ssl
g***B7381 小时前
Rust在网络中的Tokio
开发语言·网络·rust
xu_yule2 小时前
网络和Linux网络-5(应用层)HTTP协议(方法+报头+状态码)
linux·网络·网络协议·http
n***4432 小时前
Node.js HTTP模块详解:创建服务器、响应请求与客户端请求
服务器·http·node.js
报错小能手2 小时前
TCP/UDP面经整理
网络·tcp/ip·udp
xxp43212 小时前
Qt 网络编程 网络下载
网络·qt·php
YY&DS2 小时前
Qt 快速搭建局域网 HTTP 下载服务(兼容 IE/Chrome/Edge/Firefox)
chrome·qt·http
xuchaoxin13752 小时前
cdn节点代理的副作用@fail2ban对接cdn封锁恶意请求ip@fail2ban封锁ip有效性问题
运维·网络·cdn·cloudflare
西幻凌云3 小时前
了解计算机网络的“物理根基”——物理层与数据链路层
网络·网络协议·计算机网络·数据链路层·物理层