Safari 似乎不支持 Alt-Svc 头来启用 HTTP/3,只能用 DNS 的 HTTPS RR 记录 - V2EX
hguandl
V2EX    Apple

Safari 似乎不支持 Alt-Svc 头来启用 HTTP/3,只能用 DNS 的 HTTPS RR 记录

  •  
  •   hguandl Nov 8, 2024 2138 views
    This topic created in 569 days ago, the information mentioned may be changed or developed.

    迫于前段时间云服务器到期,我迁移了自己的网站。在测试连接时,我发现 Safari 无论如何也触发不了 HTTP/3 。我确认自己没有开代理,而且同样网络条件下 Google Chrome 是可以的。于是我开始研究这个神奇的现象。

    首先我经过一些搜索,学到了一类新的 DNS 记录HTTPS Resource Records (Type 65)。这条记录支持很多字段,其中就包含了 HTTP/3 。经过测试 Safari 可以通过此记录激活 HTTP/3 ,典型例子就是 Cloudflare 的网站(包括本站)。

    上述概念其实是我第一次听说,此前我只知道通过添加 Alt-Svc 头来声明 h3 ,这样浏览器的后续连接就会尝试使用 HTTP/3 。然而这种设置对 Safari 似乎无效,典型例子是 NGINX QUIC Preview,我试了很多次都没有成功。

    我印象里早期 HTTP/3 还是草案的时候,Safari 是可以的。在正式版发布后,官方文档 TN3102: HTTP/3 in your app 也都提到了这两种方案。不知道为什么我现在用最新版本就不行了。我打算给 Apple 提反馈,大家看看能不能复现类似的情况。

    2 replies    2024-11-17 02:09:44 +08:00
    Aoang
        1
    Aoang  
       Nov 8, 2024
    不同的浏览器的实现不一样。

    Chrome 在 HTTP/3 可用时,会优先使用 HTTP/3 ,如果失败了,就回退至 HTTP/2 。

    Safari 会并发尝试使用 HTTP/2 和 HTTP/3 ,谁先完成建立就用谁。

    如果没有 HTTPS 记录,那建立连接之初就不会用 HTTP/3 ,Safari 似乎不会自动升级至 HTTP/3 。Chrome/Firefox 倒是会去做自动升级,失败回退。
    caola
        2
    caola  
       Nov 17, 2024
    其实我更喜欢苹果的 HTTPS RR 方式,可惜 chrome 不支持。否则我就可以用非标准端口来做为 web 的服务器。 主页面放到国外 vps 上,通过非标准端口使用国内的服务器,非常的爽
    About     Help     Advertise     Blog     API     FAQ     Solana     840 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 19:28 PVG 03:28 LAX 12:28 JFK 15:28
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86