rx:tp7
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
rx:tp7 [2013/01/22 10:58] – created orel | rx:tp7 [2024/03/18 15:06] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | TP 7 (Socket) | + | ====TP7 (Socket Avançé)==== |
- | ============== | + | |
- | L' | + | L' |
- | minimaliste, | + | |
- | un navigateur web standard comme Firefox. | + | |
Un peu de documentation sur le protocle HTTP : | Un peu de documentation sur le protocle HTTP : | ||
Line 10: | Line 7: | ||
* http:// | * http:// | ||
- | 1) Requête Cliente (GET) | + | ==Requête Cliente (GET)== |
- | ------------------------ | + | |
- | Lancez la commande " | + | Lancez la commande " |
- | et tapez l'URL " | + | |
Interprétez les différentes lignes en vous aidant de Wikipedia : | Interprétez les différentes lignes en vous aidant de Wikipedia : | ||
Line 20: | Line 15: | ||
* http:// | * http:// | ||
- | 2) Réponse du Serveur | + | ==Réponse du Serveur== |
- | ---------------------- | + | |
- | A l'aide de Telnet, produire une requête GET pour obtenir la page | + | A l'aide de Telnet, produire une requête GET pour obtenir la page d' |
- | d' | + | |
- | Voici un exemple de réponse, composé d'un entête HTTP et de la réponse | + | Voici un exemple de réponse, composé d'un entête HTTP et de la réponse HTML séparée par un saut de ligne. |
- | HTML séparée par un saut de ligne. | + | |
HTTP/1.1 200 OK | HTTP/1.1 200 OK | ||
Line 49: | Line 41: | ||
</ | </ | ||
- | Reproduisez l' | + | Reproduisez l' |
- | n' | + | |
+ | ==Programmation d'un serveur web== | ||
- | 3) Programmation d'un serveur web | + | En utilisant l'exemple de serveur fourni au TP 6, programmez |
- | ---------------------------------- | + | |
- | En utilisant l'exemple de serveur fourni au TP 6, programmez un | + | Lors d'une requête GET pour un certain document, il y a trois cas à traiter : |
- | serveur web minimaliste qui renvoie les documents web contenus dans le | + | |
- | répertoire d' | + | |
- | Lors d'une requête GET pour un certain document, il y a trois cas à | + | - la requête concerne un fichier d' |
- | traiter : | + | |
- | + | | |
- | 1) la requête concerne un fichier d' | + | |
- | | + | |
- | + | ||
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | + | ||
- | | + | |
- | | + | |
A la fin du traitement, la connexion est systématiquement fermée. | A la fin du traitement, la connexion est systématiquement fermée. | ||
- | Compléments | + | ==Compléments== |
- | ------------ | + | |
- | Voici un extrait de code qui vous montre comment lister le contenu du | + | Voici un extrait de code qui vous montre comment lister le contenu du répertoire courant et comment différencier les fichiers réguliers des répertoires. |
- | répertoire courant et comment différencier les fichiers réguliers des | + | |
- | répertoires. | + | |
+ | < | ||
#include < | #include < | ||
#include < | #include < | ||
Line 101: | Line 78: | ||
printf(" | printf(" | ||
} | } | ||
+ | </ | ||
- | Pour tester si le fichier " | + | Pour tester si le fichier " |
- | " | + | |
+ | < | ||
struct stat info; | struct stat info; | ||
char filename[255]; | char filename[255]; | ||
Line 113: | Line 91: | ||
if(ret == 0) | if(ret == 0) | ||
printf(" | printf(" | ||
- | + | </ |
rx/tp7.1358852331.txt.gz · Last modified: 2024/03/18 15:05 (external edit)