• Aucun résultat trouvé

TPn 8(suite)HTTP Universit´eParisDiderot–Paris7Programmationr´eseauL3InformatiqueAnne2010-2011,2 semestre

N/A
N/A
Protected

Academic year: 2022

Partager "TPn 8(suite)HTTP Universit´eParisDiderot–Paris7Programmationr´eseauL3InformatiqueAnne2010-2011,2 semestre"

Copied!
1
0
0

Texte intégral

(1)

Universit´ e Paris Diderot – Paris 7 Programmation r´ eseau L3 Informatique Anne 2010-2011, 2

`eme

semestre

TP n 8 (suite) HTTP

Exercice 1 [Serveur web concurrent]

– Votre serveur web est-il capable de desservir plusieurs clients simultan´ement ? – Si ce n’est pas le cas, modifiez-le de fa¸con ` a ce qu’apr`es avoir accept´e une connexion, il communique avec le client dans un processus s´epar´e. V´erifiez que plusieurs connections simultan´ees sont possibles.

Exercice 2 [Affichage de pages web locales] Votre serveur web sert toujours la m´eme page. Mettez diff´erentes pages dans un r´epertoire ~/public_html/. Modi- fiez votre serveur pour que apr`es avoir v´erifi´e que le chemin de la requˆete com- mence par ”/” et ne contient pas la chaˆıne ”/../”

1

, il retourne au client le contenu du fichier correspondant situ´e sous dans ~/public_html/. La valeur de l’en-tˆete Content-Type d´ependra du nom du fichier, il vaudra :

– text/plain; charset=utf-8 si le nom du fichier se termine par ”.txt” ou

”.text” ;

– text/html; charset=utf-8 si le nom du fichier se termine par ”.htm” ou

”.html” ;

– application/octet-stream sinon.

Exercice 3 [Longueur de pages] Modifiez votre programme pour qu’il indique au client la longueur du corps de la r´eponse dans un en-tˆete Content-Length.

Exercice 4 [R´ecup´eration de pages web distantes] Dans cet exercice le but est que votre serveur puisse aussi r´ecup´erer des pages distantes depuis l’UFR. Modifiez votre serveur pour que si dans la requˆete apr`es le ”/” il y a une adresse web commen¸cant par ”www”, par exemple :

www.pps.jussieu.fr/~jch/enseignement/reseaux/

alors votre serveur se connecte ` a la machine de l’UFR cache sur le port 3128, fasse la requˆete de cette page ` a ce proxy et transmette ensuite le r´esultat au client. Pour plus d’informations, regardez le TP 3.

1. Indication :man strstr

1

Références

Documents relatifs

Lancez la commande nc avec l’option -l 8080, cela ouvre un serveur sur votre machine locale sur le port 8080.. Tapez une ligne dans

Les hints prennent aussi le forme d’une structure addrinfo : vous pouvez indiquer des restrictions sur le type de socket que vous souhaitez utiliser (si vous n’avez aucune

Pour cela vous pouvez utiliser la commande telnet (usage : telnet machine service o` u service peut ˆetre soit le num´ero de service soit le nom du service)1. D´eterminez le

Dans ce protocole, les informations binaires sont en g´en´eral cod´ees en paquets, et envoy´ees sur le r´eseau, l’octet de poids le plus fort en premier, c’est-` a-dire selon le

Ecrivez un programme Java ´ jdaytime qui se connecte au service daytime d’une machine donn´ ee en param` etre et r´ ecup` ere la date pour l’afficher ` a l’´ ecran.. Exercice

L’id´ee est la suivante : un client producteur envoie au serveur une chaˆıne de caract`eres qu’il aura re¸cu par l’entr´ee standard (le clavier), le serveur stocke alors

Lorsqu’il d´etermine que c’est n´ecessaire, le client SNTP envoie au serveur une requˆete sous forme d’un paquet UDP qui contient la date ` a laquelle ce message est transmis..

int bind(int socket, const struct sockaddr *adresse, socklen_t longueur);. int listen(int socket,