pipelined HTTP/1.1 implementation outperformed HTTP/1.0, even when the HTTP/1.0 implementation used multiple connections in parallel, under all network environments tested. The savings were at least a factor of two, and sometimes as much as a factor of ten, in terms of packets transmitted. Elapsed time improvement is less dramatic, and strongly depends on your network connection.” — Network performance effects of HTTP/1.1, CSS1, and PNG; 1997 9 / 38
of communication within an HTTP/2 connection, consisting of a header and a variable-length sequence of octets structured according to the frame type. 2. stream: A bi-directional flow of frames within the HTTP/2 connection. 3. connection: A transport-layer connection between two endpoints. 21 / 38
client can assign a priority for a new stream by including prioritization information in the HEADERS frame that opens the stream. The purpose of prioritization is to allow an endpoint to express how it would prefer its peer allocate resources when managing concurrent streams. Each stream can be given an explicit dependency on another stream. Including a dependency expresses a preference to allocate resources to the identified stream rather than to the dependent stream. 24 / 38
technical masterpiece. It has layering violations, inconsistencies, needless complexity, bad compromises, misses a lot of ripe opportunities, etc. I would flunk students in my (hypothetical) protocol design class if they submitted it.” — HTTP/2.0 - The IETF is Phoning It In; Poul-Henning Kamp 27 / 38
are not holy untouchable pillars of a global religion and if we’ve crossed into a few gray areas when making http2 it has been in the interest of making a good and effective protocol within the given constraints.” — http2 explained; Daniel Stenberg 28 / 38