Frontend Labs
⋯

0.2 The series: OS → networking → security → HTTPS → Go → C → Rust

This guide belongs to one course, read in this order:

   1  OS & Linux  ──▶  2  Networking  ──▶  3  Security  ──▶  4  HTTPS walkthrough
                         2a OSI map          3a From Zero        (one request through
                         2b TCP/IP           3b In Depth          every guide)
   ════════════════  Go and Rust, alongside every step  ════════════════

   Languages track:   Go  ──▶  C  ──▶  Rust  (you are here)
                      GC +     the       C's control, with the
                      runtime  machine   discipline checked by the compiler
Step Guide What it gives you What you rebuild here in Rust
1 Operating Systems, Linux, and Containers processes, memory, files, sockets, signals, containers Part IV: syscalls, signals, fsync, ps from /proc, mmap, a namespace container
2a The OSI Model, One Click at a Time one click through all seven layers Chapter 64 walks the same layers
2b Networking from Zero (TCP/IP) addressing, TCP, UDP, DNS, TLS, packet capture Ch 32, 45, 46: TCP/UDP servers, framing, a raw-bytes DNS client, HTTP from a socket
3a Security from Zero hashing, AEAD, passwords, TLS, PKI, OWASP Top 10 Ch 49, 52, 56: rustls, AES-GCM, Argon2, HMAC, JWT auth
3b Security Engineering in Depth supply chain, smuggling, SSRF, races, parsers Ch 48, 50, 53–55: SSRF guard, smuggling-safe proxy, fuzzing, cargo deny
4 The HTTPS Request Lifecycle one request end to end, then the server side Ch 47–50, 64: production server, retries, proxy, the whole-series walkthrough
L1 Go — The Complete Field Guide a GC'd, runtime-scheduled systems language the phrasebook in §0.3; Go comparisons in every chapter
L2 C — The Complete Field Guide manual memory, UB, the ABI, sockets, the kernel Ch 6–7 (ownership replaces C's discipline), 33–34 (unsafe, FFI), 57 (layout)
L3 Rust — The Complete Field Guide ← you are here memory safety without a GC, fearless concurrency —

Why Rust comes last in the languages track. Rust's rules make the most sense once you have seen both alternatives fail. In C you have seen a use-after-free, a double free, and a data race. In Go you have seen GC pauses, nil-pointer panics, and the slice aliasing bug in Go §6.6. After that, the borrow checker stops looking like an obstacle. It is the C guide's ownership discipline, written down as rules and enforced at compile time.

Reading paths:

  • From Go (backend engineer): Part 0 → Ch 1–12 (slowly, especially 6–8) → 16–22 → 28–31 → 47–48 → 62 → 68.
  • From C (systems / embedded): Part 0 → Ch 1, 6–10 → 16–19 → 22 → 28–29 → 33–34 → Part IV → 57–61.
  • Security engineer: Ch 1, 6–10 → 33 → Part VI → 49–50 → 55.
  • SRE / platform: Ch 1–12 → 24 → 30–31 → Part IV → 47 → 65–67.

Across the series, at a glance

Topic OS / network / security side Go side C side Rust chapter
System calls OS Ch 2 OS Ch 73 C §21 39
Virtual memory, stack vs heap OS Ch 10 Go §27 C §10 6, 57
Threads and races OS Ch 17 Go §17 C §20 28–29
Signals OS Ch 20 OS Ch 74 C §55 40
Crash-safe files OS Ch 14 OS Ch 77 C §12 41
Many connections OS Ch 19 OS Ch 78 C §23.2 30–32
Containers OS Ch 44 OS Ch 80 — 44
DNS Net Ch 18 Net §0.8 — 45
TCP Net Ch 21 Go §34 C §21 32
HTTP Net Ch 28, HTTPS Ch 5 Go §24 C §21.2 46–47
TLS / mTLS Sec Ch 28, Sec Ch 53 Go §50 — 49
Password storage Sec Ch 10 Go §48 — 52, 56
Request smuggling Sec 3b Ch 30 HTTPS Ch 20 — 50
SSRF Sec 3b Ch 33 HTTPS Ch 22 — 48
Retries, idempotency HTTPS Ch 21 same — 48
Undefined behavior — — C §28 33, 51
Supply chain Sec Ch 47, 3b Ch 13 Go §64 — 55
Memory ordering — Go §27 C §38 61

Generated from real-life-rust-guide.md · 8 Oct 2026 16:36