L'objectif est d'observer les échanges HTTP entre client et serveur.
RéponsesLes réponses sont affichées dans ce style là. |
Hôtes virtuelsLes serveurs Web disc.inria.fr:80 et www.inria.fr:80 sont physiquement sur la même machine. Vous devez spécifier l'hôte cible dans chacune de vos requêtes HTTP : Host: disc.inria.fr |
telnet permet de communiquer avec un serveur sur un port donnée. Par défaut, les serveurs Web tournent sur le port 80. La commande telnet disc.inria.fr 80 permet donc d'initier une requête vers le serveur.
> telnet www.inria.fr 80 GET /perso/philippe.poulard/cours/master/tp-web-1/requete.php HTTP/1.1 Host: disc.inria.fr
> telnet www.inria.fr 80 GET /perso/philippe.poulard/cours/master/tp-web-1/requete.php HTTP/1.1 Host: disc.inria.fr User-Agent: INCONNU
Champs | Valeur |
---|---|
NOM | votre nom |
PRENOM | votre prénom |
GROUPE | votre groupe |
Content-type: application/x-www-form-urlencoded Content-length: nombre de caractères envoyés dans les donnéesLes champs à envoyer doivent être placés après les en-têtes HTTP (en ayant passé une ligne) sous la forme champs=valeur et séparés par des &.
> telnet www.inria.fr 80 POST /perso/philippe.poulard/cours/master/tp-web-1/register.php HTTP/1.1 Host: disc.inria.fr Content-type: application/x-www-form-urlencoded Content-length: 36 NOM=Poulard&PRENOM=Philippe&GROUPE=0
> telnet localhost 2008Pour que le proxy puisse acheminer la requête, il faut par ailleurs spécifier l'URL complète dans la requête HTTP :
POST http://disc.inriafr/perso/philippe.poulard/cours/master/tp-web-1/register.php HTTP/1.1
Vous pouvez créer sur votre compte des pages Web visibles depuis internet. Chaque utilisateur peut consulter ses propres pages sur http://www-mips.unice.fr/~votreLogin : le serveur Web va les chercher sur le répertoire ~/www.
Inclusion de définitions de style : les styles se décrivent dans la balise <style> qui se place dans la balise <head>
<head> <syle type="text/css"> <!-- //--> </style> </head>
Inclusion de fichiers de style : pour que les styles soient partagés par plusieurs documents HTML, il est plus commode de les externaliser dans un autre fichier et d'y faire référence :
<head> <link rel="stylesheet" type="text/css" href="mesStyles.css"> </head>
Exemple :
.title { font-family: Verdana, Helvetica; font-size: 16pt; background-color: rgb(255,123,34); text-anchor: widdle; } a { text-decoration: none } a:hover { text-decoration: underline }
Utilisation :
<p class="title">Le titre</p>
Voir http://www.w3schools.com/css/default.asp pour plus de détail.
<form action="http://disc.inria.fr/perso/philippe.poulard/cours/master/tp-web-1/submit.php" method="POST"> Nombre 1 : <input type="text" name="NOMBRE1"><br> Nombre 2 : <input type="text" name="NOMBRE2"><br> <input type="submit" value="Envoyer"> </form>
<form action="http://disc.inria.fr/perso/philippe.poulard/cours/master/tp-web-1/submit.php" method="GET"> Nombre 1 : <input type="text" name="NOMBRE1"><br> Nombre 2 : <input type="text" name="NOMBRE2"><br> <input type="submit" value="Envoyer">< </form>Quelle est la différence ? Les données envoyées sont visibles dans l'URL.
Voir http://www.w3schools.com/js/default.asp.
<script language="Javascript"> function somme() { var N1 = document.nombres.NOMBRE1.value - 0; var N2 = document.nombres.NOMBRE2.value - 0; document.nombres.SOMME.value = N1 + N2; } </script> <form name="nombres"> Nombre 1 : <input type="text" name="NOMBRE1"><br> Nombre 2 : <input type="text" name="NOMBRE2"><br> Somme : <input type="text" name="SOMME"><br> <input type="button" value="Additionner" onclick="somme();"> </form>
<html> <head> <title>Un calcul</title> <script language="javascript"> function valide() { var a = document.formulaire.NOMBRE1.value; var b = document.formulaire.NOMBRE2.value; if (isNaN(a) || isNaN(b)) { alert("Une des 2 valeurs saisies n'est pas un nombre"); return false; } else { return true; } } </script> </head> <body> <h1>Un calcul</h1> <form name="formulaire" onsubmit="return valide();" method="POST" action="http://disc.inria.fr/perso/philippe.poulard/cours/master/tp-web-1/submit.php"> Donnez un nombre : <input name="NOMBRE1" type="text"><br/> Et un autre : <input name="NOMBRE2" type="text"><br/> <input type="submit" value="Envoyer"> </form> </body> </html>
<a href="#" onmouseover='document.images[0].src="image2.gif"' onmouseout='document.images[0].src="image1.gif"'><img src="image1.gif"></a>