Course · 6 lessons ~53 hr Intermediate

Computer Networks — From Bits to HTTP

Computer Networks — From Bits to HTTP covers: UNIX Programming, Rebuilding HTTP, Head First Networking. Understand how data moves across networks: the physical layer, data link layer, network layer (IP), transport layer (TCP/UDP), and application layer (HTTP, DNS, TLS). Follow a packet from your Rails app to the client and back. Rack is a socket abstraction. When Puma calls TCPServer.new('0.0.0.0', 3000), it creates a TCP socket, binds it to port 3000, and listens for connections. Each incoming HTTP request is a TCP connection. Puma accepts the connection, reads the HTTP request bytes, parses them into a Rack environment hash, passes it through middleware, and returns the response bytes over the same TCP connection. After this module, you understand every step of that process at the kernel level. Action Cable uses WebSockets. WebSockets start as an HTTP upgrade request and switch to a full-duplex TCP connection. Now you know what "full-duplex" means (both sides can send simultaneously) and how the upgrade handshake works. Net::HTTP in Ruby creates a TCP socket, performs a TLS handshake if HTTPS, sends an HTTP request, reads the response, and closes the connection (or keeps it alive). After this module, you can debug every failure mode: DNS timeout, TCP connection refused, TLS certificate mismatch, HTTP timeout.

reading · we frame, you read MIT or the canonical taught · we author, no canonical fits ↺ spirals back to earlier lessons
Course locked

Complete Operating Systems — Processes, Memory & File Systems first.

This course unlocks once you've finished its prerequisite. Open prerequisite →

6 lessons. Read in order; spiral back when you need to. By the end you'll have used the core ideas twice — once on the abstract, once on something you'll meet at work next week.