<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Http3 on giftiaのblog</title><link>https://hch1212.github.io/tags/http3/</link><description>Recent content in Http3 on giftiaのblog</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Mon, 10 Aug 2026 09:00:27 +0000</lastBuildDate><atom:link href="https://hch1212.github.io/tags/http3/index.xml" rel="self" type="application/rss+xml"/><item><title>http 的成长史</title><link>https://hch1212.github.io/posts/2026/01/http-%E7%9A%84%E6%88%90%E9%95%BF%E5%8F%B2/</link><pubDate>Mon, 05 Jan 2026 00:00:00 +0000</pubDate><guid>https://hch1212.github.io/posts/2026/01/http-%E7%9A%84%E6%88%90%E9%95%BF%E5%8F%B2/</guid><description>&lt;h2 id="http10"&gt;HTTP/1.0&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;短连接&lt;/strong&gt;：每次请求新建 TCP 连接，完成后断开&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;无 Host 头&lt;/strong&gt;：不支持虚拟主机&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;不支持断点续传&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="http11"&gt;HTTP/1.1&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;长连接&lt;/strong&gt;：默认 &lt;code&gt;Connection: keep-alive&lt;/code&gt;，复用 TCP 连接&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;管道化&lt;/strong&gt;：同一连接可并发多个请求，但响应必须按序返回（队头阻塞）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;新增缓存控制&lt;/strong&gt;：&lt;code&gt;Cache-Control&lt;/code&gt;、&lt;code&gt;ETag&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;新增 Host 字段&lt;/strong&gt;：支持虚拟主机&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;支持断点续传&lt;/strong&gt;：&lt;code&gt;Range&lt;/code&gt; 请求头&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="http20"&gt;HTTP/2.0&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;二进制分帧&lt;/strong&gt;：报文拆为帧传输，按帧标识符重组&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;头部压缩&lt;/strong&gt;：HPACK 算法，客户端和服务端维护头部索引表&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;多路复用&lt;/strong&gt;：一个 TCP 连接处理多个 Stream，解决 HTTP/1.1 队头阻塞&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;服务器推送&lt;/strong&gt;：服务端可主动推送资源&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="http30"&gt;HTTP/3.0&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;基于 QUIC（UDP）&lt;/strong&gt;：减少 TCP + TLS 握手耗时&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;无队头阻塞&lt;/strong&gt;：独立 Stream，丢包不影响其他流&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;连接迁移&lt;/strong&gt;：用 64 位随机数标识连接（非 IP+端口），网络切换不断连&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QPACK 头部压缩&lt;/strong&gt;：改进的头部压缩算法&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="对比"&gt;对比&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;特性&lt;/th&gt;
 &lt;th&gt;HTTP/1.0&lt;/th&gt;
 &lt;th&gt;HTTP/1.1&lt;/th&gt;
 &lt;th&gt;HTTP/2.0&lt;/th&gt;
 &lt;th&gt;HTTP/3.0&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;连接&lt;/td&gt;
 &lt;td&gt;短连接&lt;/td&gt;
 &lt;td&gt;长连接&lt;/td&gt;
 &lt;td&gt;长连接&lt;/td&gt;
 &lt;td&gt;QUIC 长连接&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;数据格式&lt;/td&gt;
 &lt;td&gt;文本&lt;/td&gt;
 &lt;td&gt;文本&lt;/td&gt;
 &lt;td&gt;二进制分帧&lt;/td&gt;
 &lt;td&gt;二进制分帧&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;多路复用&lt;/td&gt;
 &lt;td&gt;不支持&lt;/td&gt;
 &lt;td&gt;不支持&lt;/td&gt;
 &lt;td&gt;支持&lt;/td&gt;
 &lt;td&gt;支持&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;队头阻塞&lt;/td&gt;
 &lt;td&gt;存在&lt;/td&gt;
 &lt;td&gt;存在&lt;/td&gt;
 &lt;td&gt;TCP 层阻塞&lt;/td&gt;
 &lt;td&gt;无&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;头部压缩&lt;/td&gt;
 &lt;td&gt;不支持&lt;/td&gt;
 &lt;td&gt;不支持&lt;/td&gt;
 &lt;td&gt;HPACK&lt;/td&gt;
 &lt;td&gt;QPACK&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;传输协议&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;TCP&lt;/td&gt;
 &lt;td&gt;QUIC (UDP)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item></channel></rss>