TechCoder.io / System Design

Networking Basics for Engineers

Deep dive into HTTP/1.1 vs HTTP/2 vs HTTP/3, TCP vs UDP, latency vs throughput, long-polling vs WebSockets — the networking knowledge every system designer must master.

By TechCoder TeamLast updated: 2026-10-17
In a Nutshell

Deep dive into HTTP/1.1 vs HTTP/2 vs HTTP/3, TCP vs UDP, latency vs throughput, long-polling vs WebSockets — the networking knowledge every system designer must master. This hands-on tutorial focuses on practical implementation of networking basics for engineers concepts.

Networking Basics for Engineers

OSI 7-Layer Network Model — Protocols and Data Flow

Great system designers don't need to be network engineers, but they must understand how the network behaves — its performance characteristics, its failure modes, and how protocols affect system design decisions.

HTTP Evolution: 1.1 → 2 → 3

HTTP/1.1 — Head-of-Line Blocking Problem

  • Each TCP connection handles one request at a time
  • Browsers open 6-8 parallel TCP connections to work around this
  • Keep-Alive allows connection reuse (no new TCP handshake per request)

HTTP/2 — Multiplexing Solved It (Almost)

  • Single TCP connection, multiple streams multiplexed
  • Header compression (HPACK) — headers were huge and repetitive
  • Server Push — server can proactively send CSS/JS before browser asks
  • ⚠️ Still has TCP Head-of-Line Blocking — if one packet is lost, ALL streams on that TCP connection must wait

HTTP/3 — QUIC Fixes Everything

  • Built on UDP, not TCP
  • Each stream is independent — packet loss on one stream doesn't block others
  • Built-in TLS 1.3 — connection establishment in 0-1 RTT (vs 2-3 RTT for TCP+TLS)
  • Used by YouTube, Google Search, Facebook today
FeatureHTTP/1.1HTTP/2HTTP/3
TransportTCPTCPQUIC (UDP)
Multiplexing❌ No⚠️ Yes (TCP HoL)✅ Yes (no HoL)
Header Compression❌ None✅ HPACK✅ QPACK
TLS Handshake2 RTT2 RTT0-1 RTT

Latency vs Throughput vs Bandwidth

These three terms are frequently confused in interviews. Here's the definitive breakdown:

PYTHON PLAYGROUND
⏳ Loading editor…

[!IMPORTANT] The latency cheat sheet above is frequently asked in system design interviews. Knowing that a cross-continent network call is ~80ms while RAM access is 100ns explains why caching is so powerful — you're shaving 800,000x off access time.

Long-Polling, SSE, and WebSockets

For real-time features (chat, notifications, live feeds), you have several options:

Quiz

Quiz

Question 1 of 2

What problem does HTTP/3 solve that HTTP/2 could not?

HTTP/3 supports multiplexing, HTTP/2 did not
HTTP/3 eliminates TCP Head-of-Line blocking by using QUIC (UDP), so one lost packet doesn't stall all streams
HTTP/3 adds header compression for the first time

HTTP Version Comparison

FeatureHTTP/1.1HTTP/2HTTP/3
TransportTCPTCPQUIC (UDP)
Multiplexing❌ (HOL blocking)✅ streams✅ independent streams
Header Compression❌✅ HPACK✅ QPACK
Server Push❌✅✅
TLSOptionalEffectively requiredBuilt-in (TLS 1.3)
Connection Setup1 RTT (+ TLS)1 RTT (+ TLS)0-RTT possible
AdoptionUniversal~65% of web~30% and growing

Official Resources

Key Takeaways

✅ HTTP/2 introduced multiplexing but still suffers from TCP Head-of-Line blocking.
✅ HTTP/3 uses QUIC over UDP, eliminating HoL blocking and enabling 0-RTT connections.
✅ Latency ≠ Bandwidth — physical distance limits latency regardless of bandwidth.
✅ Know your latency numbers: RAM (100ns), SSD (150µs), same-DC (0.5ms), cross-continent (80ms).
✅ For real-time features: WebSockets for bidirectional, SSE for server-to-client, Long-polling as a fallback.

What's Next?

Next: APIs — REST, GraphQL & gRPC — the contracts that connect your services.