Slide 14
Slide 14 text
What are the limitations?
➔ Using HTTP/1.1
◆ with pipelining
● HOL, Hop by Hop, disable by default
● idempotent only
➔ Using HTTP/2
◆ with multiplexing
● Order is not guaranteed
@gregoirehebert @gheb_dev
1 What is the subject and why?
Pipelining requests leads to improved load times, but a limitation of HTTP 1.1 still
applies: the server must send its responses to the same order as the requests were
received - so the entire connection remains FIFO and Head Of Line blocking can
occur. Example: if a client sends 4 pipelined GET requests to a proxy over a single
connection and the first one is not in its cache, the proxy must forward this request to
the destination web server; if the next three requests are instead found in its cache,
the proxy must wait for the web server's response, then send it to the client and only
then it can also send the three cached responses. Furthermore, POST requests
cannot be pipelined, only idempotent verbs And finally, HTTP connection handling is
Hop By Hop not end to end. It is transmitted, intermediaries by intermediaries. If only
one does not support or activate pipelining, the interest is lost.