HTTP/3 Alpn? 为什么网站开启了HTTP3浏览器却是用HTTP/2访问?
Nginx1.25 开始开始支持HTTP/3, 当我使用最新的Chrome(116.0.0.0)访问网站,并非每次都是用HTTP/3,很多次访问同一网站还是采用HTTP/2,就如下图,是5分钟内先后两次的访问记录。
这里就引出一个问题,客户端这里专指浏览器是怎么知道要访问的网站采用的HTTP1.1、HTTP/2还是HTTP/3?
Nginx1.25 开始开始支持HTTP/3, 当我使用最新的Chrome(116.0.0.0)访问网站,并非每次都是用HTTP/3,很多次访问同一网站还是采用HTTP/2,就如下图,是5分钟内先后两次的访问记录。
这里就引出一个问题,客户端这里专指浏览器是怎么知道要访问的网站采用的HTTP1.1、HTTP/2还是HTTP/3?
版本 | 发行年代 | 特性 | 使用情况 |
---|---|---|---|
http/0.9 | 1991 | GET method only | 废弃 |
http/1.0 | 1996 | 头, 缓存,语言 | 爬虫 |
http/1.1 | 1999 | keepalive, upgrade,ranges,hosts | 流行 |
SPDY(google过渡版本) | 2009 | NPN、 单一连接、gzip header、流控制 | 升级为h2 |
http/2 | 2005 | ALPN、 HPACK、priorities, server push | 流行 (40% 2019) |
http/3 | 2018 | quic | draft |