HTTPpipe道和HTTP复用与SPDY的区别
感谢Google和Stack Overflow,我想我理解了普通HTTPstream水线和HTTP多路复用(例如SPDY)之间的区别,所以我在下面的图表中展示了基于三个常规HTTP请求的stream水线和多路复用之间的区别。
我的两个问题是:
- 图像是否正确?
- 是否真的,如果stream水线不会有头部阻塞问题,它会像HTTP多路复用一样快? 还是我错过了一个额外的差异?
这不是不正确的,但有一个重要的方面就是省略。 HTTP要求您在任何其他请求可以继续之前提交整个响应 。 您在图表中显示的内容是正确的,因为使用SPDY我们终于可以打破“线头”要求,并在可用时提供响应。 但是,我们也不必等待任何完整的请求。
想象一下,两个请求,几个kb的大小:每个请求将有多个数据包,称为[r1p1, r1p2]
和[r2p1, r2p2]
。 HTTP要求pN按正确的顺序到达。 另一方面,SPDY允许我们使用以下内容: [r2p1, r1p1, r1p2, r2p2]
。
另外值得一提的是,使用SPDY,我们可以使用请求优先级向服务器提示哪些请求应该优先,即使它稍后到达networking(其他六个优秀特性之一)。