Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era

The new HTTP/2 protocol which is going to replace HTTP 1.1 was finished on February. Together with it, QUIC is being developed rapidly. Discover why are they so important for the Web and how will they influence the way we optimize the Web stack for the HTTP/2 era.

13.
Why not HTTP Pipelining?
The server must send its responses in the same order that
requests were received
So the entire connection remains ﬁrst-in-ﬁrst-out (FIFO)
and Head-of-line (HOL) blocking can occur
and more, like buggy proxy servers

14.
In most browsers HTTP pipelining is disabled
Or not implemented at all
Browsers achieve multiplexing by opening multiple connections
to servers
As a result...

32.
Frame types
DATA Convey arbitrary data associated with a stream
HEADERS Used to open a stream and carries name-value pairs
PRIORITY Speciﬁes the sender-advised priority of a stream
RST_STREAM Allows abnormal termination of a stream
SETTINGS
Conveys conﬁguration parameters that affect how endpoints
communicate

33.
Frame types
PUSH_PROMISE
Used to notify the peer endpoint in advance of streams the sender
intends to initiate
PING
Measuring a minimal round-trip time from the sender; checks if a
connection is still alive
GOAWAY Informs the remote peer to stop creating streams on this connection
WINDOW_UPDATE
Used to implement ﬂow control on each individual stream or on the
entire connection.
CONTNUATION Used to continue a sequence of header block fragments

55.
Why not SCTP over DTLS?
Mainly because roughly 4 round trips are needed to
establish an SCTP over DTLS connection
In contrast, the goal of QUIC is to perform a connection
establishment with zero RTT overhead

56.
Goal: 0-RTT (round-trip time) connectivity
overhead
Has all the beneﬁts of SPDY and HTTP/2
QUIC Features
but...

58.
QUIC Features
Delay of only one packet causes the entire set of
SPDY (aka HTTP/2) streams to pause.
(Since TCP only provides a single serialized stream interface)
In QUIC, when a single packet is lost,
only one stream is being delayed

67.
Removing the CSS which is not needed on the page4
Specifying ETag and setting far future expires headers5
Using HTML 5 ofﬂine to store already downloaded ﬁles6
Optimize the content sent to the brower

69.
Set the value of TCP’s initial cwnd to 10 segments (IW10)1
Disable Slow-Start Restart after idle2
Check and enable if needed Window Scaling3
Optimize the content sent to the browser
Consider to use TCP Fast Open (TFO)4