Fundamentals 12 min read

How SPDY Paved the Way and QUIC Is Revolutionizing Web Transport

This article reviews the pioneering SPDY protocol that inspired HTTP/2, then delves into Google's disruptive QUIC protocol—explaining its UDP foundation, Diffie‑Hellman encryption, connection migration, and advanced features that overcome TCP limitations, while comparing their roles in modern web communication.

Efficient Ops
Efficient Ops
Efficient Ops
How SPDY Paved the Way and QUIC Is Revolutionizing Web Transport
In the previous article we summarized HTTP from 1.0 to 2.0; this piece focuses on SPDY, the pioneering predecessor of HTTP/2, and QUIC, a disruptive protocol that challenges TCP.

1. Pioneer: SPDY

1. Introduction

SPDY is a Google‑initiated improvement over HTTP/1.1 (pre‑HTTP/2). Built on TCP, it addresses many pain points of HTTP/1.x, dramatically speeding up web page loading. HTTP/2 later adopted many SPDY features.

2. Features

As introduced in the previous article, SPDY shares most features with HTTP/2:

Multiplexing

Header compression

Server push

Request priority

SPDY architecture diagram

3. Current Status

Before HTTP/2’s release, SPDY already held a notable market share, and for a period both SPDY and HTTP/2 could be seen in use simultaneously.

2. Disruptor: QUIC

1. Prerequisite Knowledge

TCP and UDP

TCP (Transmission Control Protocol) is a connection‑oriented, reliable, byte‑stream transport protocol providing ordered delivery, flow control, and full‑duplex communication.

Key characteristics of TCP include reliable data transfer, connection establishment before communication, and support for high‑volume applications such as Telnet, FTP, and SMTP.

UDP (User Datagram Protocol) is a connection‑less transport protocol offering simple, unreliable message delivery without flow control or error recovery, suitable for low‑latency, low‑volume scenarios like DNS or TFTP.

In summary:

TCP: connection‑oriented, reliable, suitable for large data streams, slower due to handshake overhead.

UDP: connection‑less, unreliable, suitable for small, fast transmissions.

Diffie‑Hellman Algorithm

The mathematical basis of Diffie‑Hellman is the discrete logarithm problem. The exchange proceeds as follows:

(1) Both client and server agree on large primes n and g (public).
(2) Client picks random x, computes A = g^x mod n, sends A.
(3) Server picks random y, computes B = g^y mod n, sends B.
(4) Both compute shared secret K: client K = B^x mod n, server K = A^y mod n (K1 = K2).

An eavesdropper who knows n, g, A, and B cannot feasibly compute the shared secret when the numbers are large.

2. What is QUIC?

QUIC is a Google‑developed, UDP‑based high‑efficiency reliable protocol. It implements many TCP features on top of UDP, achieving higher transmission efficiency.

3. Features

a. UDP‑based connection establishment

TCP‑based protocols like HTTP/2 require a three‑way handshake and additional TLS negotiations, adding latency especially for short‑lived connections. QUIC, built on UDP, reduces this to one or two round‑trips, dramatically lowering latency.

b. Diffie‑Hellman based encryption

While HTTPS (TLS/SSL) typically requires two round‑trips for key exchange, QUIC uses Diffie‑Hellman to establish a secure link with a single round‑trip.

Client sends Inchoate Client Hello.

Server replies with Rejection containing public key and algorithm info.

Client sends Client Hello with its public key.

c. Improved multiplexing

TCP‑based multiplexing (HTTP/2, SPDY) still suffers from head‑of‑line blocking due to strict packet ordering. QUIC’s UDP foundation eliminates this issue, allowing independent packet loss recovery without blocking other streams.

d. Connection migration

TCP identifies connections by a four‑tuple (source IP, source port, destination IP, destination port); any change forces a new connection. QUIC uses a connection ID, enabling seamless migration between networks (e.g., 4G ↔ Wi‑Fi) without reconnection.

e. Negotiation fallback

When a client initiates a request, it may open both TCP and QUIC connections simultaneously. The first to succeed is used; if QUIC fails, TCP is retained, and the client marks QUIC as broken until a retry succeeds.

Client sends TCP request.

Server indicates QUIC support via alt‑svc header.

Client races TCP and QUIC connections.

Winning connection is used for subsequent requests.

If QUIC fails, it is marked broken and retried later.

Additional QUIC features include improved congestion control, packet loss recovery, persistent connections, head‑stream ordering, and dual‑level flow control.

3. Summary and Reflection

In the evolution of web transport, SPDY was indispensable, dramatically speeding up page loads before HTTP/2 and influencing its design. Today, QUIC disrupts TCP by leveraging UDP while preserving TCP‑like features, allowing seamless adoption without altering application‑layer protocols. Both innovations stem from Google’s vision.

Source: https://segmentfault.com/a/1190000016265991

Network ProtocolsQUICHTTP/2UDPSPDY
Efficient Ops
Written by

Efficient Ops

This public account is maintained by Xiaotianguo and friends, regularly publishing widely-read original technical articles. We focus on operations transformation and accompany you throughout your operations career, growing together happily.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.