Client-Server Fundamentals
The mental model every server-side concept builds on — who talks to whom, and how.
Sockets
The lowest-level thing your server code touches when the network shows up — and why everything above it makes more sense once you get this.
Threads & Concurrency
How one server program handles thousands of clients at once — and why threads are both the solution and the problem.
Blocking vs Non-Blocking I/O
The single most important concept for understanding modern server design. Once you get this, Tomcat, Netty, Node.js, and reactive programming all click.
Protocols
TCP gives you a reliable byte stream. HTTP, WebSocket, and gRPC are different conventions for what to put on top.
Server Types
Web, TCP, WebSocket, gRPC — what each one is for, how they differ, and a decision flow for picking one.
Tomcat vs Netty
The same idea — serve HTTP — implemented two completely different ways. Servlets and thread-per-request vs event loops and non-blocking channels.
Spring Ecosystem
How Spring, Spring MVC, Spring WebFlux, and Spring Boot compose on top of Tomcat and Netty — and how Spring Boot is used far beyond just web servers.