by Christopher Mueller, CTO and Co-Founder of bitmovin
HTTP traffic has grown extensively, driven by the immense growth of multimedia traffic. Nowadays it could be seen as “the” protocol to deploy new services and applications and it is also heavily used by the industry, due to the fact that it provides advanced features for modern Internet architectures:
1. It is a content centric protocol that decouples names from addresses through DNS.
2. It provides caching elements and middle boxes as reverse and forward proxies.
3. It enables scalable and flexible content deployment with content distribution, already leveraged by Content Distribution Networks (CDN)
However, there is still room for improvements as many services are still using HTTP/1.0 which has been specified in May 1996, or are not utilizing all features of HTTP/1.1 such as persistent connections or pipelining. For example, already deployed HTTP streaming solutions such as Microsoft Smooth Streaming, Apple HTTP Live Streaming and Adobe Dynamic Streaming do not use HTTP/1.1 pipelining with persistent connections, which could increase the streaming performance by up to 30%. Unfortunately, there are not many proxies that support HTTP/1.1 pipelining with persistent connections, due to the Head-of-Line (HoL) blocking problem where one pending response could possibly delay a range of other responses. The problem is that the proxy has to send in-order responses, which means that earlier arriving out-of-order responses will be blocked until the response that causes the HoL blocking arrives.
In order to overcome these shortcomings …