我的想法是让在较慢连接上运行的 Web 应用程序能够回退到其他较小的资产版本(如图像、视频等)。HTTP 实时流具有类似的行为,但针对的是视频流。
起初我以为,这可以通过使用 HTTP/2 服务器推送来实现。Web 服务器会在关闭连接之前发送响应、测量吞吐量并推送适当的资产版本。但这会消除服务器推送的优势,因为客户端只有在收到页面主体后才能开始下载资产。由于资产不是以流的形式提供的,因此服务器应该在向客户端发送 HTTP 响应之前检测吞吐量。
我还想检查是否可以从 TCP 堆栈获取吞吐量,例如来自慢启动的值。但我猜它只有在发送响应时才可用。
有人知道网络服务器如何在发送响应之前测量有效吞吐量吗?