Résumé de section

    • Prérequis : protocoles TCP/IP, langage Python3, notion de client/serveur.

    • ? L'utilisation des Sockets ne nécessite pas de droits administrateur. Seul les numéros de ports inférieur à 1024 sont réservés aux services standards (ssh = 22, ftp = 21, http = 80, https = 443, ...).  

      Exercice : Sur la machine du CREMI... 

      • Commencez par éditer les codes Python 3 hello client & server fournis ci-dessous...
      • Ouvrez trois terminaux et lancez les commandes suivantes, dans cette ordre : 
      terminal1$ python3 hello-server.py           # 1) je lance le serveur sur localhost
      terminal2$ python3 hello-client.py           # 2) je lance le client...
      terminal3$ netstat -tapn                     # 3) j'affiche l'état des connexions TCP/IP
      • Modifiez la variable HOST de votre programme client pour qu'il se connecte au serveur de votre voisin !
      • Que se passe-t-il si on met dans le code client HOST="www.google.com" ?
      • Modifiez maintenant le client pour programmer un client web qui envoie la requête HTTP "GET / HTTP/1.0\r\n\r\n" vers le serveur www.google.com... Encore un peu d'effort, et vous pouvez programmer votre propre navigateur web clin d’œil
      • Une solution en HTTP/1.1 est donné plus bas dans le fichier http-get.py Notez qu'en HTTP/1.1, le champs Host est obligatoire dans l'en-tête du protcole HTTP.