QA
Senior LevelREST APIs & Web Services

Why does TCP Head-of-Line blocking degrade HTTP/2 under high packet loss networks?

❓ Interview Prompt: Explain TCP Head-of-Line (HoL) Blocking in HTTP/2, single TCP connection multiplexing, packet retransmission stalls, and HTTP/3 QUIC resolution.

HTTP/2 multiplexes dozens of concurrent HTTP streams over a single underlying TCP connection:

The TCP HoL Vulnerability:

TCP guarantees strict in-order delivery of bytes. If a single TCP packet is dropped on a lossy cellular network (1%-2% packet loss):

•
The OS kernel TCP stack MUST pause delivery of ALL multiplexed HTTP/2 streams on that connection until the missing packet is retransmitted and acknowledged!
•
Resolution: HTTP/3 replaces TCP with QUIC over UDP, making streams independent.

Code Implementation Example

http
// HTTP/2 Single TCP Connection:
Stream 1 [Packets 1, 2, 3] | Stream 2 [Packets 4, 5] | Stream 3 [Packets 6, 7]
// If Packet 2 drops -> TCP blocks Stream 1, Stream 2, AND Stream 3 until Packet 2 retransmits!
💡TCP Head-of-Line blocking freezing multiplexed HTTP/2 streams.
🎯 Interview Key Takeaway

TCP head-of-line blocking stalls all HTTP/2 streams on packet loss; HTTP/3 QUIC resolves this using independent UDP streams.

#HTTP/2#Head-of-Line Blocking#TCP vs QUIC#Senior
Back to all REST APIs & Web Services Questions→

More REST APIs & Web Services Interview Questions

Beginner LevelREST APIs & Web Services

What is HTTP Method Idempotency and how do you implement Idempotency Keys for REST APIs?

Beginner LevelREST APIs & Web Services

What are standard HTTP Status Codes (200, 201, 204, 400, 401, 403, 404, 409, 429, 500, 503)?

Beginner LevelREST APIs & Web Services

What are HTTP Verbs (GET, POST, PUT, PATCH, DELETE) and when to use PUT vs PATCH?