HTTP 2.0与HTTP 1.1,服务器到服务器之间的连接池通信

时间:2017-11-21 06:04:20

标签: rest http http2

我最近一直在阅读有关HTTP 2.0的内容,我正在尝试了解服务器到服务器(REST)通信是否有任何好处。 该方案是服务器A向服务器B(或少量服务器2实例)发送REST Json消息。 通常HTTP客户端维护连接池并重用旧连接,因此一旦建立连接,服务器就通过HTTP 1.1进行通信,它将被重用。在那种情况下,HTTP 2.0的好处是什么? 此外,如果服务器B倾向于超时很多,那么使用HTTP 1.1连接将必须关闭并再次打开,这是一个开销。但是对于HTTP 2.0,情况不一样吗?

1 个答案:

答案 0 :(得分:2)

对于少数服务器,我认为HTTP / 1.1和HTTP / 2之间不会有很大差异。 我认为小的请求率也是如此。 在两种情况下,ServerA中的HTTP客户端都需要打开并汇集少量连接,可能只有一个。

对于大量服务器(数百或更多)或高请求率,情况可能会非常不同,这会强制HTTP / 1.1打开并维护大量连接。 这就是HTTP / 2的多路复用功能可以真正发挥作用,并通过HTTP / 1.1为HTTP / 2提供优势。

最后,在使用HTTP / 2时,您还需要考虑请求和响应内容大小。 与HTTP / 1.1不同,HTTP / 2在协议级别强制执行流量控制,如果流量控制窗口太小,这可能会停止上传/下载。
幸运的是,这应该可以在良好的HTTP / 2客户端和服务器实现中进行配置 对于较小的内容大小,您不应该看到流控制机制的干扰,因此HTTP / 2应该与HTTP / 1.1一样好。
对于较大的内容大小,您希望将流控制窗口配置为更大的值,以避免流控制机制过于频繁地停止上载/下载。