Under the Web #00 — Why I'm Learning How the Internet Actually Works
I can make an API call. I can deploy a Docker container. I can configure a reverse proxy in Azure. I can write Angular components that talk to C# backends over HTTPS.
And I have absolutely no idea what's actually happening underneath any of it.
The Uncomfortable Truth
Over the past few years, I've accumulated a hodgepodge of technical skills. I know how to use technologies — the command-line flags, the configuration options, the code patterns. But I realized something embarrassing: I don't actually understand the why.
I can tell you how to configure CORS headers in my .NET API. But can I explain what CORS actually solves, or why it exists in the first place? Not really.
I know that DNS converts domain names to IP addresses. But can I trace the actual path a DNS query takes through the internet? Or explain why the system was designed that way? Not confidently.
I've deployed Kubernetes clusters. But do I understand how Kubernetes networking actually works, or am I just following tutorials and trusting that it works? Definitely the latter.
This is the gap I'm here to fill.
What This Series Is
"Under the Web" is a long-running blog series where I'm learning computer networking and internet fundamentals, and documenting the journey.
This isn't a textbook summary. This isn't me pretending to be an expert.
This is me — a software engineer with applied knowledge but theoretical gaps — diving into Computer Networking: A Top-Down Approach (Kurose & Ross, 8th Edition), learning genuinely, experimenting hands-on, and then explaining what I discover in a way that builds real mental models.
Why Does This Matter?
Here's the thing about abstractions: they're useful until they prevent you from thinking clearly.
When you don't understand what's happening underneath, you: - Debug problems blindly - Make architectural decisions without understanding the tradeoffs - Hit performance walls and don't know why - Can't reason about security and trust boundaries - Get surprised by production incidents - Copy-paste solutions without understanding them
I want to reach the point where I can mentally trace a request through the entire stack:
Browser → DNS → IP routing → TCP handshake → TLS encryption → HTTP request → reverse proxy → load balancer → application server → database → response → browser rendering
And understand each step deeply enough to explain it to someone else.
What You'll Find Here
Each article in this series will:
- Start from honest confusion — What I initially thought a concept was
- Build the real mental model — How it actually works, and why
- Include hands-on experiments — Commands you can run right now to observe it yourself
- Connect the dots — How this piece fits with other pieces you already know
- Point out what's confusing — Common misconceptions, and how to avoid them
I'll be using tools like curl, dig, Wireshark, Chrome DevTools, and packet analysis to actually see how the internet works, rather than just reading about it.
The Topics We'll Cover
We're going to progress from fundamentals to modern complexity:
- The basics: What even is the internet? How do packets get routed?
- Addressing: IP addresses, DNS, ports — how computers find each other
- Transport layer: TCP, UDP, sockets — how data actually gets delivered
- The web layer: HTTP/HTTPS, headers, methods, status codes — the language of modern applications
- Security: TLS, encryption, authentication, authorization, OAuth 2.0
- Modern challenges: CDNs, caching, CORS, reverse proxies, load balancing
- At scale: Kubernetes networking, cloud networking, distributed systems
But we won't follow the textbook chapter-by-chapter. We'll organize around interesting questions instead.
Who Is This For?
- Software engineers who can use technologies but don't understand them — This is for you
- Developers tired of copy-pasting solutions — This builds understanding, not memorization
- People interested in how the web actually works — Welcome
- Anyone building mental models instead of collecting facts — You'll get something here
If you already have deep networking knowledge, this series probably isn't for you. If you're just memorizing definitions for an exam, this won't help (but it should interest you more).
Let's Go
I don't know everything yet. I'm going to learn as I write. I'm going to make mistakes and correct them. I'm going to be surprised by how things actually work.
But that's the point.
The internet is fascinating. It's elegant. It's also messier than abstractions make it seem. And understanding it makes you a better engineer.
Welcome to Under the Web.