我有一个与浏览器如何知道站点是否支持 HTTP/2 相同的问题?. 我想知道浏览器如何知道网站支持 http3。
我正在使用 safari 并打开了 http3 支持。然后我去,https://cloudflare-quic.com
协议是h3-29
。我认为我的 safari 使用 h3 协议探索这个网站。它是怎么知道的?
我有一个与浏览器如何知道站点是否支持 HTTP/2 相同的问题?. 我想知道浏览器如何知道网站支持 http3。
我正在使用 safari 并打开了 http3 支持。然后我去,https://cloudflare-quic.com
协议是h3-29
。我认为我的 safari 使用 h3 协议探索这个网站。它是怎么知道的?
HTTP 源可以使用“h3”ALPN 令牌通过 Alt-Svc HTTP 响应头字段或 HTTP/2 ALTSVC 帧 ( ALTSVC )通告等效 HTTP/3 端点的可用性。
在这种情况下,Alt-svc
存在:
$ curl -i https://cloudflare-quic.com
HTTP/2 200
...
alt-svc: h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400
因此,收到此响应的浏览器可以尝试使用同一服务器上的这三个草稿版本在 UDP 端口 443 上进行下一次连接。