Composants du client Web

1. Le navigateurMain en arriere fleche dessinee 318 51824

Dans les architectures citées précédemment, le navigateur est une application cliente [2]. Il permet d'envoyer des requêtes HTTP au serveur Web et d'en interpréter la réponse. Les navigateurs sont aujourd'hui capables de travailler également avec le protocole FTP et d'afficher d'autres formats tels que XML. Il existe plusieurs méthodes HTTP pour envoyer des requêtes au serveur. Les plus répandues sont GET, HEAD et POST [1]. GET permet de demander le téléchargement du contenu d'un document, HEAD permet de n'en récupérer que l'en-tête et POST permet d'envoyer des informations au serveur pour traitement. Lorsque l'utilisateur saisit une adresse ou clique sur un lien hypertexte, le navigateur envoie une requête GET au serveur qui ne comprend qu'un en-tête. Les requêtes POST ont un corps de message qui comporte l'ensemble des informations saisies dans un formulaire, alors qu'avec GET, ces informations sont transmises en ajoutant des paramètres à l'adresse.

HTML est un langage qui permet de décrire le contenu et la structure d'une page Web. Il est composé d'environ 50 instructions de mise en forme. La dernière version rédigée par le W3C en 1999 est 4.01 [5]. La version 5 prévue pour 2012 permettra d'intégrer et de standardiser toutes les innovations développées pour compléter version actuelle qui ne permet pas de représenter des graphiques, de représenter une animation ou d'interagir avec l'utilisateur. Dans un document HTML, la structure de la page peut être représentée par un arbre appelé DOM (Document Object Model).

Image non disponible
Figure 3 - Mode de fonctionnement des applications Web

XHTML est une extension d'HTML basée sur le langage structuré de description de données XML (eXtensible Markup Language).

CSS (Cascading Style Sheets) est un complément d'HTML dont la version 2 actuelle a été développée en 1998. Une feuille de style (style sheet) est un ensemble de règles à appliquer aux éléments HTML. L'utilisation de CSS permet de séparer les responsabilités dans la présentation des données à l'utilisateur. HTML peut ainsi être responsable du contenu de la page affichée alors que CSS sera responsable de la mise en page. En modifiant seulement le CSS, il est ainsi possible de modifier l'apparence d'une application Web. La future version CSS3 est prévue pour 2012.

RSS (Really Simple Syndication ou Resource description framework Site Summary) est un format simple pour la syndication de contenu. C'est un des outils identifiés comme faisant partie du Web 2.0. Il permet de centraliser des liens vers des sites en affichant pour chacun un titre et une description.

2. Les scripts

HTML n'offrant pas de comportement dynamique aux pages Web, les éditeurs ont créé des langages de scripts et des extensions aux navigateurs.

JavaScript est un langage de scripts inventé en 1995 pour le navigateur Netscape. Il permet de manipuler les objets de l'arbre DOM et de gérer la réaction à des événements générés par les objets de la page. Il permet en fait de modifier la page HTML sans envoyer de requête HTTP. Bien qu'il existe une norme ECMAScript gérée par l'organisme de spécifications ECMA, chaque navigateur a développé son propre interpréteur, ce qui pose des problèmes de portabilité des applications Web.

Afin de compléter JavaScript pour permettre de modifier la page HTML affichée en communiquant avec le serveur HTTP, sans recharger toute la page, Microsoft a développé en 2002 un nouvel objet JavaScript : XMLHttpRequest. Aujourd'hui la plupart des navigateurs intègrent cet objet. Cela permet de communiquer de manière asynchrone avec le serveur, ce que ne permet pas actuellement HTML. Ce nouvel outil a été la base du développement du Web 2.0 et sera intégré à la future norme HTML 5.

AJAX (Asynchronous Javascript And XML) est un terme inventé en 2005 par Jesse James Garrett. Il ne s'agit pas d'une nouvelle technologie mais d'une façon d'utiliser conjointement les technologies XHTML, JavaScript et CSS. Les applications Web développées selon le paradigme Ajax utilisent massivement les requêtes GET pour mettre à jour l'interface graphique.

Image non disponible
Figure 4 - Mode de fonctionnement des applications Web 2.0

Des éditeurs tels que Macromedia et Microsoft ont également développé des extensions (plugin) aux navigateurs comme Flash et Silverlight pour offrir des interfaces plus riches. Comme le présent document ne traitera pas les failles de sécurité de ces composants, ils ne seront pas plus amplement détaillés.