LouisRaverdy
Projets

Webserv

Serveur HTTP en C++ from scratch

Webserv · serveur HTTP en C++

Implémentation d’un serveur HTTP/1.1 from scratch en C++98, réalisée en trio, inspirée du comportement de Nginx. Le projet consiste à lire un fichier de configuration, ouvrir plusieurs serveurs/ports, router les requêtes vers les bons emplacements, servir des fichiers statiques et renvoyer des réponses HTTP correctes.

La partie intéressante est dans les détails : parsing de configuration, gestion des méthodes GET/POST/DELETE, redirections, upload, pages d’erreur, CGI, body de requête, headers, timeouts et connexions multiples. Le serveur doit rester non-bloquant et capable de gérer plusieurs clients sans figer l’exécution.

C’est un projet de groupe très formateur parce qu’il force à comprendre le protocole HTTP autrement qu’en utilisant un framework. On manipule directement les sockets, les buffers, les états de requête/réponse et toutes les petites règles qui rendent un serveur web réellement fiable.

Stack

C++NetworkingGit

D’autres projets