Multithreaded HTTP Server

HTTP server built from scratch in C and then reworked in Rust to explore concurrency, protocol handling, and memory-safe systems programming.

The Problem

Web servers sit at the core of backend systems. This project rebuilds one from first principles to work through request parsing, connection handling, concurrency, and response generation without framework abstractions.

Solution

The implementation focuses on:

  • HTTP/1.1 request parsing and response generation
  • Multithreaded request handling in C
  • Static file serving and basic routing
  • Compression support under active development
  • Rust rewrite to compare ergonomics, safety, and performance tradeoffs
  • Good foundation for benchmarking and low-level debugging

Screenshots

HTTP Server

Tech Stack

C Rust HTTP Networking Multithreading Systems Programming