Introduction

Most people use HTTP daily, but few understand its inner workings. This “Build Your Own X” book dives deep, teaching basics from scratch for a clearer understanding of the tools and tech we rely on.

  • Network programming.
  • Protocols & communication.
  • HTTP in detail.

Contents

Part I: Make A Basic HTTP Server

  1. Introduction
  2. HTTP Overview
  3. Code A TCP Server
  4. Promises and Events
  5. A Simple Network Protocol
  6. HTTP Semantics and Syntax
  7. Code A Basic HTTP Server

Part II: Applications & Extensions

  1. Dynamic Content and Streaming
  2. File IO & Resource Management
  3. Range Requests
  4. HTTP Caching
  5. Compression & the Stream API
  6. WebSocket & Concurrency

PDF/EPUB and Paperback Editions

The full book is available for purchase.

I have curated a list of resources that are highly relevant and can be used as supplements.

High Performance Browser Networking by Ilya Grigorik.
[Amazon] [Web]
A book that focuses on creating fast network applications. One cannot understand performance issues without first understanding networking. Although the title says “browser”, this is a general and practical networking book relevant to all kinds of developers.
Eloquent JavaScript by Marijn Haverbeke.
[Amazon] [Web]
Not a JS developer, but still want to follow this project and code an HTTP server? Fortunately, JS is one of the easiest languages to pick up. If you know a few other programming languages, you can probably get started in no time.