  HTTP/2 (h2) is a new standard for Web communications that already delivers a
large share of Web traffic. Unlike HTTP/1, h2 uses only one underlying TCP
connection. In a cellular network with high loss and sudden spikes in latency,
which the TCP stack might interpret as loss, using a single TCP connection can
negatively impact Web performance. In this paper, we perform an extensive
analysis of real world cellular network traffic and design a testbed to emulate
loss characteristics in cellular networks. We use the emulated cellular network
to measure h2 performance in comparison to HTTP/1.1, for webpages synthesized
from HTTP Archive repository data.
  Our results show that, in lossy conditions, h2 achieves faster page load
times (PLTs) for webpages with small objects. For webpages with large objects,
h2 degrades the PLT. We devise a new domain-sharding technique that isolates
large and small object downloads on separate connections. Using sharding, we
show that under lossy cellular conditions, h2 over multiple connections
improves the PLT compared to h2 with one connection and HTTP/1.1 with six
connections. Finally, we recommend content providers and content delivery
networks to apply h2-aware domain-sharding on webpages currently served over h2
for improved mobile Web performance.
