Skip to content
 
 

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mini-http-server-cpp

Objectif : créer un serveur HTTP simple qui fonctionne sur localhost:8080.

Fonctionnalités souhaitées :

  • ouvrir un port et écouter les connexions
  • accepter les requêtes HTTP GET
  • parser la requête HTTP
  • gérer des routes simples :
  • "/" → page accueil
  • "/about" → page à propos
  • "/time" → retourner l'heure actuelle
  • renvoyer des réponses HTTP correctes
  • gérer les erreurs (404)
  • servir des fichiers statiques (HTML)

Contraintes techniques :

  • langage : C++
  • utiliser les sockets TCP
  • compatible Linux / macOS
  • code clair et bien structuré
  • expliquer chaque partie du code
  • utiliser une architecture simple (plusieurs fichiers si nécessaire)

Mini HTTP Server in C++

A simple educational HTTP server built in C++ using TCP sockets. This project was created to learn low-level networking, HTTP basics, and clean C++ project structure.

Features

TCP socket server
Runs on localhost:8080
Handles HTTP GET requests
Parses HTTP request line

Simple routing :
    / → home page
    /about → about page
    /time → current server time
Returns proper HTTP responses
Handles 404 Not Found
Serves static HTML files

Tech Stack : C++ TCP sockets Linux / macOS compatible Makefile build system

Project Structure : src/ # source files include/ # header files public/ # static HTML files docs/ # extra documentation Build make Run ./server

Then open: http://localhost:8080

Test with curl : curl http://localhost:8080/ curl http://localhost:8080/about curl http://localhost:8080/time curl http://localhost:8080/unknown

Learning Goals :

Understand TCP socket programming
Learn how HTTP requests and responses work
Practice modular C++ code organization
Work collaboratively with Git and GitHub

Possible Improvements : Support more HTTP methods Better request parsing MIME type detection Serve CSS and JavaScript files Add logging Add unit tests Handle multiple clients Use threads or select()

Authors Built by Samu and Jordan

About

Construction d'un mini serveur HTTP capable d' écouter sur localhost:8080 accepter des connexions TCP lire et parser des requêtes HTTP GET faire du routage simple renvoyer des réponses HTTP valides servir des fichiers statiques gérer les erreurs 404

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages