Serveur HTTP en Python

Nous allons, sur une machine de la salle, lancer un programme Python qui remplira la fonction de serveur HTTP.

 

Ainsi, depuis n’importe quelle machine du réseau, à partir de n’importe quel navigateur web, nous pourrons afficher une page Web.

 

Page HTML

Créer un fichier ma_page.html  avec le contenu au format HTML suivant :

 

Programme Python

Pour créer un serveur HTTP dans Python, il faut importer deux modules :

  • http.server  qui permet de gérer les requêtes HTTP
  • socketserver qui permet de créer un serveur TCP

On décide du numéro de port écouté par notre serveur :

On choisit le gestionnaire (handler) pour les requêtes HTTP :

On crée le serveur TCP (on utilise ici un bloc with , pour faciliter sa gestion – pas besoin de le fermer) :

Dans le bloc with, on démarre le serveur :

 

 

Activité
  • Créer un fichier Python serveur_http.py réalisant cette fonction serveur.

Attention, les deux fichiers doivent être dans le même dossier.

Depuis pyzo :

placer

 

Communication

A l’aide du navigateur saisir dans la barre d’adresse l’URL suivant :

Activité
  • Identifier dans l’URL :
    • le nom du protocole
    • le nom d’hôte
    • le port
    • la ressources
  • A l’aide du logiciel Wireshark, depuis le poste client, identifier les trames HTTP échangées pour afficher la page.

 

 

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

code