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)
