Difference between HTTP Pipeline and HTTP Multiplexing with SPDY

Thanks to Google and the stack overflow, I think I understood the difference between regular HTTP pipelining and HTTP multiplexing (e.g. with SPDY), so I made the diagram below to show the differences between pipelining and multiplexing based on three regular HTTP requests .

enter image description here

My two questions are:

  • Is this image correct?
  • Is it true that if there is no header blocking issue in pipelining, it will be as fast as HTTP multiplexing? Or did I miss the extra difference?
+48
spdy multiplexing
May 7 '12 at 10:01
source share
1 answer

This is not wrong, but there is an important aspect that he omits. HTTP requires you to submit the entire response before any other request can continue. What you show in the diagram is true in the sense that with SPDY we can finally break the string head requirement and deliver answers as they appear. However, we also do not need to wait for the completion of any request.

Imagine two queries, the size of which is several kb: each request will have several packets, name them [r1p1, r1p2] and [r2p1, r2p2] . HTTP requires pN to arrive in the exact order. SPDY, on the other hand, allows us to: [r2p1, r1p1, r1p2, r2p2] .

It's also worth mentioning that with SPDY we can use request priorities to hint at the server which requests should take precedence, even if it arrives later on the wire (among half a dozen other great features).

+46
May 7 '12 at 16:23
source



All Articles