Build Your Own Web Server From Scratch In Node.JS
build-your-own.org eBook·Paperback
⟵ prev Contents next ⟶

🔥 My other Book: Build Your Own Redis

Build Your Own Web Server From Scratch In Node.JS

Learn network programming, HTTP, and WebSocket by coding a Web Server.

James Smith

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.

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


The 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.
Fundamentals of Backend Engineering by Hussein Nasser.
[Udemy]
Moving data around databases is only a small part of backend applications, a larger part of backend engineering is about computer networking, i.e. how components are connected, different communication patterns such as push or polling, layers of protocols, and etc. This Udemy course largely overlaps with the goal of this project, but goes broader and deeper.
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.

( Report an Error | Ask a Question) @ build-your-own.org

See also:
codecrafters.io offers “Build Your Own X” courses in many programming languages.
Including Redis, Git, SQLite, Docker, and more.
Check it out

⟵ prev Contents next ⟶