Designed to guide you through your own web server implementation, the book follows a _step-by-step_ approach, and each chapter builds on the previous one.
An outline of each step:
1. TCP echo server.
- Socket primitives in Node.JS.
- Event-based programming.
- `async/await` and promises.
2. A simple messaging protocol.
- Implementing a network protocol in TCP.
- Working with byte streams and managing buffers.
3. Basic HTTP server.
- HTTP semantics and syntax.
- Generating dynamic content.
- Async generators.
4. Core applications.
- Serving static files.
- File IO in Node.JS.
- Programming tip: avoiding resource leaks.
- Range requests.
- Caching control.
- Compression.
- The stream and pipe abstraction.
5. WebSocket.
- Message-based designs.
- Concurrent programming.
- Blocking queues.