Back to Projects

C HTTP Server

C HTTP Server - Image 1

A lightweight and high-performance multithreaded HTTP/1.1 server implemented in C, capable of handling over 100k requests per second on a single laptop.

Overview

This project is a custom HTTP server written in C, optimized for raw performance and concurrency. Benchmarks show that it can handle more than 100,000 requests per second on a standard laptop, making it a lightweight yet powerful alternative to traditional servers. It supports HTTP/1.1 with full request parsing (GET, POST, PUT, DELETE, PATCH), query parameter extraction, and static file serving with custom error pages. The modular architecture separates HTTP handling, server logic, and utilities, ensuring maintainability and extensibility.

Achievements

  • Achieved over 100,000 requests per second on a single laptop
  • Implemented a multithreaded HTTP/1.1 server from scratch in C
  • Added support for GET, POST, PUT, DELETE, and PATCH methods
  • Integrated query parameter parsing and request handling
  • Built a static file serving system with custom 404 pages
  • Designed a modular codebase separating HTTP, server, and utility layers
  • Created a complete Makefile build system with run/clean targets

Project Details

Technologies

CPOSIX ThreadsMakefile

Marouane El Moujahid

Full Stack Developer & Software Engineering Student based in Morocco, specialized in building modern web applications, backend systems, and DevOps solutions using React, NestJS, and Docker.

Connect

Keyboard Shortcuts

K
Search
T
Toggle theme
2026 Marouane ElMoujahid. All rights reserved.
Built withusing Next.js & Tailwind