即将发布的HTTP/3标准不再基于TCP,而是基于QUIC协议。WebSocket基于TCP并作为HTTP更新发起。
一个WebSocket连接是否可以作为HTTP/3更新基于QUIC而不是TCP?或者把HTTP/3连接更新为WebSocket连接是否不可能?
目前只支持使用HTTP/1.1进行连接升级,这是RFC6455指定的。
一旦与服务器建立了连接(包括通过代理或TLS加密隧道连接),客户端必须向服务器发送开启握手。握手由HTTP Upgrade请求和所需和可选头字段列表组成。握手要求如下:
握手必须是[RFC2616]规定的有效HTTP请求。
请求方法必须为GET,HTTP版本必须至少为1.1。
但是,有提议支持HTTP/2和HTTP/3(正如Remy Lebeau在上面的评论中提到的)。