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.
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

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
| Feature | HTTP/1.1 | HTTP/2 | HTTP/3 |
|---|---|---|---|
| Transport | TCP | TCP | QUIC (UDP) |
| Multiplexing | ❌ No | ⚠️ Yes (TCP HoL) | ✅ Yes (no HoL) |
| Header Compression | ❌ None | ✅ HPACK | ✅ QPACK |
| TLS Handshake | 2 RTT | 2 RTT | 0-1 RTT |
Latency vs Throughput vs Bandwidth
These three terms are frequently confused in interviews. Here's the definitive breakdown:
[!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 2What problem does HTTP/3 solve that HTTP/2 could not?
HTTP Version Comparison
| Feature | HTTP/1.1 | HTTP/2 | HTTP/3 |
|---|---|---|---|
| Transport | TCP | TCP | QUIC (UDP) |
| Multiplexing | ❌ (HOL blocking) | ✅ streams | ✅ independent streams |
| Header Compression | ❌ | ✅ HPACK | ✅ QPACK |
| Server Push | ❌ | ✅ | ✅ |
| TLS | Optional | Effectively required | Built-in (TLS 1.3) |
| Connection Setup | 1 RTT (+ TLS) | 1 RTT (+ TLS) | 0-RTT possible |
| Adoption | Universal | ~65% of web | ~30% and growing |
Official Resources
- HTTP/3 Explained — Daniel Stenberg (Free)
- TCP/IP Guide — No Starch Press
- Cloudflare Learning Center — Networking
- MDN — HTTP Headers Reference
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.