问题标签 [quic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-chrome - 如何从 Chrome 访问 github.com/lucas-clemente/quic-go 服务器?
当我使用命令运行 quic-go-0.18.1(https://github.com/lucas-clemente/quic-go)时: go run main.go -bind=127.0.0.1:443 -qlog -tcp in dir /例子。
- 我使用客户端访问https://127.0.0.1/demo/tile,我可以得到响应:(Proto:“HTTP/3”),
- 当我使用 chrome 和 chrome beta 访问https://127.0.0.1/demo/tile时,我发现 chrome 只使用 http/1.1 访问我的服务器。
我的问题是:如何使用 chrome通过 HTTP/3访问https://127.0.0.1/demo/tile ?
我的环境:Ubuntu 20.04 LTS
Chrome 开启 enable-quic。
GO版本:15
quic - 为什么 QUIC 没有标准的 API?
TCP 有一个称为“TCP 套接字”的标准 API,在我们的环境中,我们不需要担心哪个库实现了 TCP。
然而,HTTP/3 解释说 QUIC 没有标准的 API。因此,任何基于 QUIC 的程序都依赖于实现 QUIC 的库。将这些程序移植到其他环境也可能是一项艰巨的工作。
为什么QUIC工作组做出这个决定?
javascript - 调试 http3 设置
我正在尝试为 http3 设置一个测试环境,只是为了学习。
到目前为止我做了什么:
- 使用 dns-01 创建了一个真正的让我们加密证书
- 使用实验性 CUIC 标志编译 node.js
- 支持 http3 的编译 curl
我创建了一个包含示例内容的脚本:
只是为了未来的读者,这些功能getTLSKeySomehow()
可以getTLSCertSomehow()
替换为:
network.http.http3.enabled
然后我尝试通过在 Firefox 中启用http3 并在about:config
. 有了地址https://my.dev.domain.name:1234/
,但这不起作用。
使用 curl 不起作用,可能值得注意的是我在 Windows 10 上使用 WSL。每次在 curl 上访问相同的 url 都会超时。只是为了检查我的设置是否正常:我可以验证 Firefox 和 curl 可以通过 http3 完美访问www.google.com 。
当我使用相同的密钥实现第二个 http2 端点时,它可以正常工作,没有任何证书警告。
如何调试我做错了什么?
ssl - 是否有任何 Web 服务器支持 RFC8879 TLS 证书压缩?
我正在尝试验证 RFC8879 的实现。是否有任何实现了这个 RFC 的网络服务器或 TLS 库?我做了一些研究,结果表明流行的 webservers/tls 库还没有实现这个 RFC。
我知道 Chrome 浏览器在其 ClientHello (brotli) 中支持证书压缩,是否有任何服务器在其 ServerHello 中支持此功能?谷歌的服务器似乎没有响应 CompressedCertificate 消息。
configuration - 如何在 HAProxy 中启用 HTTP/3 (QUIC)?
我发现 HAProxy 2.3 更高版本通过此链接支持 HTTP/3 (QUIC) 。
我想知道如何在 HAProxy 中启用 HTTP/3 (QUIC)。
我在任何地方都找不到与此相关的任何数据。
我已经下载了最新的 HAProxy 源 (v2.4-dev5) 并使用 USE_QUIC=1 构建它。
任何建议都会很棒!
谢谢。
flags - Catchpoint 中的 QUIC - 我们可以添加 Chromium 标志以在 catchpoint 中启用 QUIC 吗?
我正在尝试运行一些性能测试,以可视化 QUIC 在 catchpoint 上的优势。关于如何在 catchpoint 上测试 QUIC 有什么想法吗?我知道 curl 允许 Chromium 标志。有没有办法在脚本或 CP UI 中添加标志?
wireshark - Wireshark/QUIC - 无法解密 QUIC
我正在尝试查看 QUIC 数据包的有效负载,但没有运气。我可以使用浏览器生成的 SSLLOGFILE 文件解密精细的 TLS 数据包并将其加载到 Wireshark,我可以看到 HTTPS 和 DoH,并且几乎所有 TLS 加密数据包都被正确解密。
对于 QUIC,情况并非如此,我可以浏览这篇文章:https ://bugs.chromium.org/p/chromium/issues/detail?id=1101691
他们在那里说 SSLKEYLOGFILE 导出 quic 的密钥的问题已经在 chrome 89 中得到修复,所以我下载了 chrome 90(chrome dev 版本),但仍然没有运气。
任何想法我做错了什么?
我可以看到 QUIC 数据包,可以看到客户端 hello,并且所有未加密的 QUIC 数据包都在 Wireshark 中正确解析,但仍然没有解密。
http - 当 QUIC、HTTP/3 是预期的主要/所有流量时,HTTP 客户端连接池是否仍然有效?
作为现代系统,特别是对于微服务,HTTP 客户端的连接池经常被部署。但是对于 QUIC + TLS1.3,在我看来连接池将毫无用处,因为 QUIC 中支持 0-RTT。
是否有任何 QUIC 专家可以分享有关此主题的更多信息?
tcp - QUIC/HTTP3 在网络切换时是否受益于 udp?
我们通常知道 QUIC 使用 UDP 作为其传输层。与 TCP 相比,UDP 具有无连接属性。
. 那么我是否可以得出结论,我们可以在wifi和4G手机之间自由切换网络连接?
如果是这样,则切换的成本低于 TCP。TCP 需要 3 次握手来建立连接,而 UDP 不需要它。