问题标签 [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 调试器“网络”选项卡中混淆 HTTP/2 协议信息
我看到其中一些显示“h2”和一些“http/2+quic/43”,但从未显示“h2+quic/43”。在这种情况下,h2 和 http/2 有什么区别?“quic/43”中的“43”是什么?协议版本或端口号?
ruby-on-rails - http 协议在 Rails 框架中的位置在哪里?
我只是想知道 HTTP框架在rails中的位置以及如何使用不同的网络层为客户端-服务器通信实现不同的协议?
有一个称为QUIC的新协议具有低延迟,如果有人想在 Rails 应用程序中实现它,有人怎么做?我几乎没有在互联网上找到任何与实施相关的资源。
udp - 可以改进 QUIC 流以进行文件传输吗?
如果我理解,QUIC 的存在是为了在同一个 UDP 通道上多路复用多个流,包括相同的密钥交换。
QUIC 对 VoIP 等也有不可靠的传输模式。 https://datatracker.ietf.org/doc/draft-pauly-quic-datagram/
有没有人考虑过使用这种不可靠模式或另一种“不太可靠”模式的 QUIC 的“文件”传输模式?文件传输是否会从比 QUIC 流支持的更少的有序传递中受益更多?
有一个 bittorrent 变体µTP ( BEP-29 ),它的存在部分是为了减少对住宅互联网的干扰,但支持 bittorrent 通常高度无序的交付。
我想通过接受来自多个发送者的数据包大小的块,QUIC 的文件传输协议也可以类似于 bittorren,但这是另一个主题。
quic - HTTP/3 及其影响
最近 Chrome、Firefox、cURL 等宣布支持 HTTP/3(之前称为 HTTP-over-QUIC)。
您如何从以下变化的角度看待其适应影响:
应用程序(基于网络的、移动的、基于纯套接字的等)
托管基础设施(网络/应用服务器、防火墙、负载平衡器、CDN、路由器、交换机等)和 ISP 等。
安全性(新威胁、漏洞、VAPT 工具的前景等)
拥塞控制
websocket - 允许 HTTP 页面响应服务器上的新信息(元刷新、轮询等)的一般技术是什么?
我正在寻找更新客户端内容的历史到现代方法的时间表。
以订购、准备和交付比萨饼的过程为例。可以更新客户端状态的各种技术是什么?
到目前为止我有
- 元刷新(古代)
- Javascript 轮询
- 网络套接字
- 奎克
- 快速
- SPDY 的 HTTP/2 实现
是否存在其他技术?如果有,它们是什么?
nginx - nginx支持quic吗?
nginx 支持 quic 吗?如果是,如何启用它?我尝试了一些在网上找到的解决方案,但这对https://trac.nginx.org/nginx/ticket/1057没有帮助。
java - JMeter - 执行 QUIC 请求
在 JMeter 中有调用 TCP、HTTP2 和 UDP 请求的选项,
但是有没有办法在 JMeter中调用QUIC请求
QUIC 是一种新的传输方式,与 TCP 相比,它减少了延迟。从表面上看,QUIC 与在 UDP 上实现的 TCP+TLS+HTTP/2 非常相似。由于 TCP 是在操作系统内核和中间盒固件中实现的,因此对 TCP 进行重大更改几乎是不可能的。然而,由于 QUIC 是建立在 UDP 之上的,它没有这样的限制。
我发现kwik是 java 客户端,但用于 HTTP3(而不是用于生产)
Kwik 是 Java 中 QUIC 协议的客户端实现。
Kwik 可用于传输 HTTP3,但它不是 HTTP3 客户端。如果您正在寻找 HTTP3 客户端,请查看 Flupke。
Kwik 还不适合生产使用。
我也找到了JQUIC,但我没有在其中找到任何相关的Java 代码
http - QUIC 连接迁移实际上是如何工作的?
我知道 QUIC 对每个连接都有一个唯一的 ID,它允许参与者更改他们的 IP 地址(例如,从 WIFI 移动到移动网络时)但仍然相互发送数据包,仍然可以分配给正确的连接。
但是接收者如何知道对方的新 IP 地址来发送数据包呢?
我已经阅读了规范,但我真的不明白它是如何工作的
http - Nginx http3 关闭与大 html 页面的连接
我在使用 curl 测试使用 HTTP/3 的 Quiche 实现修补的 nginx 服务器时遇到问题:当我尝试为一个小 html 页面(~1kb)发送多个连续请求时,nginx 正确响应
如果我尝试对中/大 html 文件发出单个请求,nginx 会再次正确响应,但是当我尝试对中/大 html 页面(> = 30kb)发出多个连续请求时,nginx 在任意数字后停止响应请求数(通常为 2-5 个请求)。这是一个由对https://cloudflare-quic.com html 页面(我在我的服务器上下载)的 10 个请求组成的示例:
它卡在这个屏幕上,重复“Got h3 for stream 0, expects 4”。我还注意到,在较小的页面上进行测试时,最小的文件越大是在停止响应并开始打印错误“Got h3 for stream x, expecting y”之前完成的请求数,其中 y=x +4。access.log 和 error.log 也是干净的,这意味着它可能是服务器配置中缺少的一些参数之王,但我不确定。有谁知道问题可能是什么?
我的配置
nginx版本:
nginx.conf:
卷发版
编辑
我们在 Cloudflare quiche repo 上讨论了这个问题,我们发现它是已知的 curl 问题:GitHub 问题