迫于前段时间云服务器到期,我迁移了自己的网站。在测试连接时,我发现 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 提反馈,大家看看能不能复现类似的情况。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.