Webserv Project
A high-performance, non-blocking HTTP server built in C++98. Inspired by Nginx, it uses epoll() for multiplexing and supports CGI, file uploads, and RFC-compliant request handling.

Overview
Building a custom web server from scratch reveals what modern frameworks often abstract away: connection handling, request parsing, protocol compliance, and maintaining performance under concurrent load. Inspired by Nginx, this project implements a scalable architecture using epoll to efficiently manage multiple client connections.
Architecture & capabilities
Developed in C++ (C++98), the server is built on non-blocking sockets combined with a multiplexed event loop for high-performance I/O. It supports core HTTP methods (GET, POST, DELETE), a flexible configuration system inspired by Nginx (routes, ports, error pages), and CGI execution for dynamic content (PHP, Python). Additional features include secure file uploads and strict request validation.
What we learned
This project provided a deep understanding of how web servers operate internally: managing concurrent connections, handling HTTP protocol details, and optimizing performance with event-driven architectures. It strengthened our skills in low-level programming, socket management, and debugging complex systems, while highlighting the trade-offs between performance, scalability, and code complexity.
key features & competencies
- Event-driven design with epoll for many concurrent connections
- RFC-oriented HTTP parsing and response handling
- CGI path for dynamic content and extensibility
- Solid preparation for infrastructure and platform engineering roles
Ready to build something like this with us?
Whether you need a high-performance website, automation, or design that converts — I partner with people in Morocco and globally to ship measurable outcomes, not just deliverables.
Start a project together