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 中的队头阻塞问题
  • 优点
    • 更低延迟。
    • 更快连接建立。
  • 缺点
    • 兼容性差,部分中间设备不支持。
    • 部署成本高,尚未大规模普及。

相关推荐
MC皮蛋侠客23 分钟前
AsyncIOScheduler 使用指南:高效异步任务调度解决方案
网络·python·fastapi
DAWN_T172 小时前
关于网络模型的使用和修改/保存和读取
网络·人工智能·pytorch·python·深度学习·神经网络·机器学习
fake_ss1982 小时前
计算机网络基础(一) --- (网络通信三要素)
java·网络·tcp/ip·udp·信息与通信
GISer_Jing3 小时前
WebSocket双向通信——引入进行功能优化
网络·websocket·网络协议
2501_920047034 小时前
python-网络编程
开发语言·网络·python
重启的码农5 小时前
KCP源码解析 (5) 底层数据输入处理 (ikcp_input)
c++·网络协议
默默敲代码的徐哥儿5 小时前
八股文整理——计算机网络
服务器·网络·计算机网络
ALe要立志成为web糕手6 小时前
HTTP 与 HTTPS 的区别
网络·安全·web安全·网络安全
火车叨位去19496 小时前
鱼皮项目简易版 RPC 框架开发(五)
网络·网络协议·rpc
人生匆匆6 小时前
ftp加ssl,升级ftps
网络·网络协议·ssl