Skip to content

2025 / Live

http.c.

Multithreaded HTTP/1.1 server in pure C with a custom thread pool, MIME type detection, custom error pages, gzip aware response negotiation, and a CUnit test suite.

Role
Author
Status
Live
Year
2025
Links

A multithreaded HTTP/1.1 server in pure C, built with a Makefile and a dedicated CUnit test suite. Requests run in parallel on a hand-written thread pool.

The server detects MIME types from the file extension, serves its own error pages, and supports gzip negotiation: clients that accept gzip get a compressed response, others receive the original content.

The project is deliberately small in scope but covers what higher-level languages typically hide behind a framework, very close to the metal.