如果只有客户端< - >,则会丢失多少HTTP / 2的性能优势?负载均衡器是HTTP / 2,实际的Web服务器是不是?我猜测它取决于负载均衡器和服务器之间的延迟和带宽,但如果你不得不猜测一般的情况,那么它是否重要?
答案 0 :(得分:2)
如果您实施HTTP / 2端到端,您将获得两件大事。
首先,您的负载均衡器不需要执行从HTTP / 2到HTTP / 1.1的任何解析和重构,反之亦然。这解决了负载均衡器上的延迟和CPU使用情况,以及文件描述符等资源(HTTP / 1.1必须大量使用)。
第二,您将失去HTTP / 2的一个最重要的功能:HTTP / 2推送。 服务器能够将相关资源推送到客户端,但仅限于端到端使用HTTP / 2时。 根据我的经验,HTTP / 2 Push是您想要打开的最重要的功能,以减少页面呈现时间,从而改善用户体验,最终带来更多业务(如this一些研究)。< / p>
我是demonstrated的HTTP / 2维护者,我在会议上展示了HTTP / 2推送的好处,您可以观看相关部分Jetty(或观看整个会议:))
网上有很多类似的例子展示了HTTP / 2推送的好处:例如here和here。
总之,&#34;表现&#34;在HTTP / 2上端到端的网站应该根据具体情况进行改进。 这些改进可能很小(例如,对于REST站点或基于文本的网站),直到巨大的(基于图像的网站或每页有大量资源的网站)。
答案 1 :(得分:0)
我们设法使用 AWS ALB 和 2 个目标组来支持 HTTP/1.1 和 HTTP/2 端到端。第一个是将用户代理路由到通过 HTTP/2 通信的目标组和通过 HTTP/1.1 通信的回退目标组,这是常见的浏览器
我希望这可以帮助某人,因为我们花了几天时间试图弄清楚如何为 AWS ALB 后面的 Web 应用程序执行端到端 HTTP/2。