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

问题描述

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

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

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

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

提前致谢。

解决方法

...就像今天可以通过javascript做Ajax请求一样,浏览器javascript会支持UDP请求吗?

Ajax 仍然是 HTTP 而不是普通的 TCP。 Ajax 将继续工作,并将透明地使用 HTTP/3(如果可用)。

... 或者更好的是,可靠地通过 UDP 传输大消息(当然,通过包装 QUIC 在 UDP 之上构建必要的加密)?

以前使用 HTTP/1 或 HTTP/2 over TCP 的类似大消息现在将透明地使用 HTTP/3 over UDP。

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

不,这无济于事。 HTTP/3 不会像 HTTP/1 一样提供普通的 UDP 连接,HTTP/2 也不会提供普通的 TCP 连接。