Retour à l’index
03Projet
DépôtWebserv
Serveur HTTP/1.1 conforme RFC, en C++ pur
Serveur web écrit de zéro en C++, sans bibliothèque externe : parsing HTTP/1.1 conforme à la RFC 7230, multiplexing d'entrées-sorties et exécution de scripts CGI.
Contexte
Réimplémenter un serveur web à partir de la RFC, c'est découvrir tout ce que les frameworks masquent : le parsing des en-têtes, les connexions persistantes, la sémantique exacte de chaque code de statut. La vraie difficulté est ailleurs : gérer plusieurs clients simultanés sur un seul thread impose de ne jamais bloquer, donc de piloter l'ensemble par `select()` et de tenir soi-même l'état de chaque connexion. Le serveur se configure par un fichier au format proche de celui de nginx.
Fonctionnalités
- 01Serveur HTTP/1.1 complet et conforme à la RFC
- 02Multiplexing I/O avec select() sur un thread unique
- 03Gestion de clients multiples simultanés
- 04Support CGI (PHP, Python, scripts shell)
- 05Parsing de fichiers de configuration flexible
- 06Gestion complète des codes d’erreur HTTP
Captures
01 / 07