感谢Google和Stack Overflow,我想我理解常规HTTP流水线和HTTP多路复用之间的区别(例如,使用SPDY),因此我在下面的图表中显示了基于三个常规HTTP请求的流水线和多路复用之间的差异
我的两个问题是:
答案 0 :(得分:48)
这不是不正确的,但它忽略了一个重要的方面。 HTTP要求您在任何其他请求可以继续之前提供整个响应。您在图表中显示的内容是正确的,因为使用SPDY,我们最终可以打破“行首”要求并在响应可用时提供响应。但是,我们也不必等待任何请求完全完成。
想象一下两个请求,大小为几个kb:每个请求都有多个数据包,称之为[r1p1, r1p2]
和[r2p1, r2p2]
。 HTTP要求pN以准确的顺序到达。另一方面,SPDY允许我们进行以下操作:[r2p1, r1p1, r1p2, r2p2]
。
值得一提的是,使用SPDY,我们可以使用请求优先级来提示服务器哪些请求应该优先,即使它稍后到达线路(其中包括其他六个很棒的功能)。