Tux

La programmation réseau

TD 3 - Application TCP

C. Drocourt
I.U.T. Amiens
drocourt@iut-amiens.fr

Exercice : 

Réaliser un mini serveur HTTP

Vous allez réaliser un mini serveur HTTP (TCP) en reprenant les exercices du TD précédent et en consultant la fiche de cours sur le protocole HTTP.
Vous allez réaliser les points suivants :
1 – Vous allez d'abord réaliser le serveur qui va se contenter d'afficher les informations que le navigateur envoit, vous devriez avoir quelque chose comme :
GET / HTTP/1.1
Host: localhost:2083
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041111 Firefox/1.0
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cache-Control: max-age=0
2 – A partir de ces informations vous allez envoyer une page html fixe (toujours la même),
3 – Renvoyez maintenant la page demandée en analysant la requête,
4 – Si la page n'existe pas, envoyez une page d'erreur,
5 – Affichez sur la console l'adresse IP de chaque client,
6 – Respectez maintenant le protocole HTTP/1.1,
7 – Ce serveur devra lire une fichier de configuration qui contiendra entre autre le numero de port,
8 – Il devra relire son fichier de configuration à la reception du signal SIGUP,
9 – Il devra se detacher du terminal et gérer ses fils correctements,
10 – Les erreurs et les informations (Demarrage, arret, ...) seront logués via syslog.
11 – Les acces (adresse IP des clients, date et heure, ...) seront logués via un fichier definit dans le fichier de configuration.