问题标签 [http3]

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.

0 投票
1 回答
104 浏览

javascript - http3 是否会在浏览器中支持来自 javascript 的 UDP

随着浏览器和服务器实现 Http3,大量 TCP 通信将转移到 UDP (QUIC)。

但是,我不清楚浏览器本身是否可以使用基于 UDP 的通信原语。意思是,就像今天可以通过 javascript 进行 Ajax 请求一样,浏览器 javascript 会支持 UDP 请求吗?或者更好的是,UDP 上的大消息可靠(当然,通过包装 QUIC 在 UDP 之上构建了必要的加密)?

这将简化对等浏览器通信并开辟许多创新应用程序。今天,这些需要采用繁琐的 STUN/TURN 和 WebRTC(其下也使用 UDP)路由。

但是直接UDP还有其他问题,尤其是安全问题。

提前致谢。

0 投票
0 回答
808 浏览

node.js - 如何使用 Express 运行 http/3?

出于实验目的,我想尝试,但 HTTP-over-QUIC 似乎在 Node.js 中不可用。QUIC本身是可用的。

0 投票
0 回答
72 浏览

python-requests - 带有 python-requests 的 HTTP3 版本

我需要发送支持 http3 的请求来解析网站(只接受 http/3 请求)。我找到了一个 python 模块“http3”,但现在开发人员不支持它,并且无法在请求中设置“代理”参数。

是否可以使用“请求”库为 http/3 版本的请求提供支持?还是有类似的模块或解决方案?

0 投票
0 回答
22 浏览

quic - Google Cloud Storage 是否提供对 QUIC 或 HTTP/3 的支持?

我想知道是否可以将 GCS 用于低延迟对象存储。具体来说,它是否支持通过 HTTP/3 进行访问,这会减少延迟吗?

0 投票
1 回答
31 浏览

http - 下载数据后,我可以在 HTTP 中发出错误信号吗?

我想要以下内容:

  • 通过 HTTP 将一个(可能很大的)文件流式传输到客户端,并且文件已经完全流式传输到客户端之后(可能)向客户端发出错误信号(例如 404 未找到或 500 内部服务器错误)。

在 HTTP 1.x 中这似乎是不可能的:错误在标头中发出信号,这些标头在正文之前流式传输。

也许,在 HTTP/2 中是可能的?如何?

我可以只是中断 HTTP TCP 连接,但在这种情况下,客户端可能会认为错误不是 404 或 500(在我的情况下,这意味着需要由客户端清除的错误文件内容)而是部分下载的文件和下次可能会尝试使用Range:将更多数据附加到(不正确的)下载数据中。

我知道这可以通过创建我自己的文件格式来完成,但我想按原样将文件传递给客户端并使用标准HTTP 错误。

0 投票
1 回答
82 浏览

nginx - NGINX HTTP/3 phpMyAdmin 5.1.1 epoll_ctl(1, 16) 失败(17:文件存在)

在 NGINX 服务器上启用 phpMyAdmin 5.1.1 和 HTTP/3 时,我收到此日志和内部服务器错误 500 消息。使用 HTTP/2 协议效果很好。

编辑:我用 Cloudflare 的 http3 安装了一个新的 nginx 服务器。我使用了这个脚本: https ://github.com/angristan/nginx-autoinstall/blob/master/nginx-autoinstall.sh

我安装了 Php 7.4 fastCgi 并下载并解压了 Phpmyadmin 5.1.1。

启动 nginx 并登录到 phpmyadmin 后,我得到了这些 nginx 错误日志:

0 投票
0 回答
94 浏览

nginx - NGINX QUIC 反向代理

我正在从分支https://hg.nginx.org/nginx-quic测试 NGINX quit/http3 实现。

我想在 NGINX 中为 QUIC 协议启用反向代理,它看起来工作不正常。有我的配置:

客户端成功打开与 NGINX 的连接,然后 NGINX 尝试打开与上游服务器的 TCP 连接。服务器可用(172.20.0.3),我可以在 tcpdump 中看到它。172.20.0.2 是 tcpdump 中 NGINX 的 ip。172.20.0.1 是 tcpdump 中 Client 的 ip。日志和 tcpdump 附在下面。

我希望 NGINX 应该打开到服务器的 quic (udp+TLS1.3) 连接。

0 投票
0 回答
37 浏览

websocket - apache骆驼从http3 websocket订阅

我们应该连接到支持 http3 websocket 的服务器,然后使用特定路由从连接会话中订阅。

上面的例子是我如何连接和订阅javascript,和上面一样我可以连接然后获取会话并订阅Java

我尝试使用ahc, atmospherejetty我可以连接,ahcatmosphere找不到任何选项或方法来订阅会话中的路由,也无法连接jetty

我应该如何订阅我的路线,例如:from("....?subscribe:topic/myroute").to(....)

0 投票
0 回答
22 浏览

security - Quic 连接 ID 是如何生成的?

我阅读了一些关于 Quic 的文档,并了解每个会话都会生成一个连接 ID,并且正如文档所述:

“连接 ID 不得包含任何可以被外部观察者(即不与发行者合作的观察者)用来将它们与同一连接的其他连接 ID 相关联的信息。”

来源:https ://tools.ietf.org/id/draft-ietf-quic-transport-24.html#connection-id

应该注意哪些安全问题?连接 Id 应该是纯随机的吗?

提前致谢

0 投票
0 回答
24 浏览

php - nginx-quic php 只能访问最后设置的 cookie

我使用https://quic.nginx.org/readme.html中的步骤实现了 nginx-quic

该页面正在https://http3check.nethttps://gf.dev/http3-test验证 http3 quic 。

页面元素在开发人员工具网络选项卡中显示 h3 协议。

在 test.php 页面中,我设置了 3 个这样的 php cookie:

在同一域和同一目录中的 test2.php 中,我尝试访问 cookie:

它只显示最后设置的 cookie:

所有三个 cookie 都显示在开发人员工具中。

Javascript 能够读取所有三个 cookie:

如果我使用 nginx http2,php 能够访问所有三个 cookie。

但是,如果我使用 nginx http3,php 只能访问最后一个 cookie。

我在 linux 服务器中使用 php81-php-fpm。