WebServices - TP2

From JayblancWiki

Jump to: navigation, search

Contents

TP2 : Le protocole HTTP

Utilisation de curl et de siege

sudo apt-get install curl siege

Utiliser curl et siege pour effectuer une requête http sur votre serveur local apache ainsi que sur votre serveur d'application glassfish.

Question 1 : Quelle différences pouvez vous observer ?

Utiliser curl pour forcer une requête utilisant le protocole HTTP version 1.0.

Question 2 : Quelles options avez vous utilisé ? Quelles sont les différences que vous pouvez constater?

(Un manuel des commandes linux est disponible en appelant man curl, man siege, etc...)

Utilisation de tcpdump et wireshark.

sudo apt-get install tcpdump wireshark

Utiliser tcpdump pour effectuer une capture des échanges lors d'une navigation sur votre page locale.

Question 3 : Sur quelle interface faut-il écouter le trafic ?

Question 4 : Quelles sont les options à utiliser pour voir le contenu des paquet en hexa et en ASCII ?

Utiliser wireshark pour effectuer une capture du même type et observer les paquets.

Question 5 : Quel est le type de réponse que le serveur renvoie à firefox ? Pourquoi ?

Question 6 : Comment faire pour avoir un code de retour standard (200) ?

Installer le plugin firefox : firebug

Utiliser le plugin et trouver comment voir les requêtes et réponses qui sont envoyée.

Question 7 : Faites une capture d'écran d'une séquence de requête sur une page web de votre serveur et une sur une page web de votre choix (www.google.fr). Expliquez les différences.

Ecriture d'un script CGI

Configurer apache pour l'exécution de script CGI. Par défaut il n'y a rien à configurer, il faut simplement trouver où placer son script CGI pour qu'il soit exécuté par le serveur.
Placer le script CGI du cours dans un fichier script1.cgi et consulter la page http://localhost/cgi-bin/script1.cgi

Question 8 : Modifiez le code du script cgi pour afficher l'heure système.

Configuration de apache pour PHP

sudo apt-get install libapache2-mod-php5

L'installation de l'interpréteur php vous permet d'écrire des pages php dans votre serveur apache.
Ecrire une page php qui remplace votre page d'accueil et qui affiche les informations sur l'interpréteur php.

Configurer Apache pour utiliser l'authentification HTTP

Créer un dossier /private dans votre répertoire www
Créer un fichier .htaccess

AuthType Basic
AuthName " Accès Restreint 
AuthUserFile /var/www/private/users
Require valid-user

Créer le fichier contenant les users

sudo htpasswd -c users <username>

Modifier la configuration du site par défaut pour autoriser la modification de la configuration dans des fichiers .htaccess

AllowOverride None → AllowOverride All

Recharger Apache

sudo apache2ctl restart

Avec firefox accéder à l'URL http://localhost/private

Capturer les requêtes avec wireshark ou firebug.

Question 9 : Quel est le nom de l'entête qui contient votre login/password  ? Est-il en clair ou non ?

Essayer de décoder le contenu de cet entête en utilisant le décodeur du site http://www.motobit.com/util/base64-decoder-encoder.asp

Configurer Apache pour utiliser SSL (HTTPS)

La documentation à consulter : http://doc.ubuntu-fr.org/tutoriel/securiser_apache2_avec_ssl

Accéder à l'url https://localhost

Avec wireshark et firebug capturez les trames d'un accès à https://localhost/private

Question 10 : Est-il possible de voir les données d'authentification ? Quelle est la différence entre firebug et wireshark ?

Ecriture d'une page JSP dans netbeans

Dans netbean créer un nouveau projet de type WebApplication.
Donner lui le nom testjsp
Notez que par défaut, le context de déploiement dans glassfish aura le même nom que votre projet.

Ajouter la ligne suivante dans la page par défaut de votre projet sous le hello world :

<% out.print(new java.util.Date()) ; %>

Déployez votre application.

Question 11 : Sur quelle URL devez vous consulter la page que vous venez d'écrire ? Expliquer les différents éléments qui constitue l'URL et à quoi ils correspondent dans votre cas.

Personal tools
Myself
Teaching