L'objectif de cette partie est l'étude sommaire du protocole http dont voici, en rappel du cours, une description.

Vous pourrez, pour envoyer des requêtes http depuis la ligne de commande, utiliser curl. Les options utiles de curl :

  • -i : Include the HTTP-header in the output. The HTTP-header includes things like server-name, date of the document, HTTP-version and more...
  • -I : Fetch the HTTP-header only.
  • -H : Extra header to include in the request when sending HTTP to a server.
  • -X : Specifies a custom request method to use when communicating with the HTTP server.
  • --data : Sends the specified data in a POST request to the HTTP server.

Pour se familiariser avec le protocle http, nous (enfin vous) utiliserez le site

http://httpbin.org/

qui est fait pour ça (il propose plusieurs "services").

Toutes les réponses du serveurs sont au format JSON, que l'on avait déjà évoqué ensemble au S1. Il s'agit d'une notation objet en Javascript.

  1. Avec votre navigateur, allez sur http://httpbin.org/. Regardez la liste des services.
  2. Vérifiez avec la commande curl la présence d'un serveur web à l'url précédente.
    curl  http://httpbin.org
    
    Pour n'avoir que les entêtes de la réponse,
    curl  -I http://httpbin.org
    
  3. Quel est le code de retour pour
    curl -i http://httpbin.org/toto
    
  4. Récupérez la page html /html/.
  5. Récupérez la page en utf-8 (/encoding/utf8).
  6. Testez le service /ip.
  7. Testez le service /user-agent avec un navigateur, et avec curl. Avec curl, modifiez l'entête User-agent en mettant n'importe quoi. (option -H de curl).
  8. Ecrivez un formulaire html qui envoie 2 variables nom et email à /get. Observez avec firefox (inspecteur) la requête et la réponse du serveur.
    Faites la même chose, en utilisant curl.

  9. Modifiez le formulaire précédent pour envoyer les données à /post. Observez avec firefox (inspecteur) la requête et la réponse du serveur.
    Faites la même chose avec curl.

  10. Testez avec votre navigateur la rediction vers un autre site avec /redirect-to?url=foo.
    Expliquez comment cela se passe.
  11. Testez le service /cache, avec et sans l'entête "If-Modified-Since".
  12. Testez le service /image/png.

Le repertoire public_html à la racine de votre compte est servi par le serveur dwarves.arda, via l'url :

http://dwarves.arda/~login/

Un fichier .htaccess en protège l'accès.

  1. Placez dans ce repertoire un fichier index.html, avec le contenu que vous voulez. Accédez-y à l'aide d'un navigateur.
  2. Vous allez écrire votre premier script php : hello_world :
    <!DOCTYPE html>
    <html>
    	<body>
    	<?php echo "<h1>hello world !!!!</h1>";?>
    	</body>
    </html>

    Saisissez le source dans un fichier hello_world.php dans votre repertoire public_html, et testez.

  3. Ecrivez un script php qui affiche, sous forme d'une liste non numérotée, tous les entiers de 1 à 20.
    • En php, les variables sont préfixées par la caractère $.
    • Il n'est pas besoin de les déclarer, et leur type est implicite.
    • La syntaxe pour une boucle est identique au C :
      for($i=1;$i<=10;$i++) 
      {
      	echo "coucou !!";
      }
    • A l'intérieur d'une chaîne de caractère (délimitée par le caractère "), les variables sont remplacées par leurs valeurs.

retour à la page d'accueil

retour au sommet