即将到来的HTTP/3标准不再基于TCP,而是基于QUIC协议。WebSocket基于TCP,并作为HTTP更新启动。WebSocket连接是否基于QUIC而不是TCP作为HTTP/3更新发起?或者是不能将HTTP/3连接更新为WebSocket连接?
hmmo2u0o1#
更新时间:2023年:在写这篇文章的时候,有一个相对较新的规范RFC 9220,用于构建在HTTP 3 https://datatracker.ietf.org/doc/rfc9220/之上的websockets。
由于这是“http 3 websockets”的最高搜索结果,我想让答案保持最新。截至2021年12月,现在有一个IETF draft,它修改了RFC8441(使用HTTP/2引导WebSockets),并对HTTP/3进行了必要的调整。如果草案 * 被接受,将有一个标准化的方式来通过HTTP/3启动WebSockets。该草案正在进行第二次修订,如果没有进一步修订,将于2022年7月到期,届时将不被接受。
wgxvkvu92#
目前RFC 6455只支持HTTP/1.1用于连接升级。一旦建立了与服务器的连接(包括通过代理或TLS加密隧道连接),客户端必须发送一个开放的握手到服务器。握手包括一个HTTP升级请求,沿着一个必需的可选头字段。这种握手的要求如下如下1.握手必须是[RFC 2616]规定的有效HTTP请求。1.请求的方法必须是GET,并且HTTP版本必须至少为1.1。然而,也有人提议支持HTTP/2和HTTP/3(正如雷米勒博在上面的评论中提到的)。
2条答案
按热度按时间hmmo2u0o1#
更新时间:2023年:在写这篇文章的时候,有一个相对较新的规范RFC 9220,用于构建在HTTP 3 https://datatracker.ietf.org/doc/rfc9220/之上的websockets。
由于这是“http 3 websockets”的最高搜索结果,我想让答案保持最新。
截至2021年12月,现在有一个IETF draft,它修改了RFC8441(使用HTTP/2引导WebSockets),并对HTTP/3进行了必要的调整。如果草案 * 被接受,将有一个标准化的方式来通过HTTP/3启动WebSockets。
该草案正在进行第二次修订,如果没有进一步修订,将于2022年7月到期,届时将不被接受。
wgxvkvu92#
目前RFC 6455只支持HTTP/1.1用于连接升级。
一旦建立了与服务器的连接(包括
通过代理或TLS加密隧道连接),客户端
必须发送一个开放的握手到服务器。握手包括一个HTTP升级请求,沿着一个必需的
可选头字段。这种握手的要求如下
如下
1.握手必须是[RFC 2616]规定的有效HTTP请求。
1.请求的方法必须是GET,并且HTTP版本必须至少为1.1。
然而,也有人提议支持HTTP/2和HTTP/3(正如雷米勒博在上面的评论中提到的)。