Web client, web browser : client web, navigateur web.
Analyse
Un client Web est un composant logiciel installé sur la machine d'un utilisateur
final.
Il dialogue avec un ou plusieurs serveurs Web à qui il
demande des ressources telles que :
- des pages Web
- des feuilles de styles pour ces pages Web
- des images (contenues dans les pages Web ou non)
- des fichiers audio
- des fichiers video
- des archives (zip, etc.)
- du code d'applications (Javascript, jar, exe, etc.)
- d'autres types de documents (PDF, XML, etc.)
- etc.
Pour interpréter certains types de ressources (fichiers Flash, Shockwave, PDF, Java parfois, etc.), un client Web doit parfois disposer
de plugins.
Conception
Le client Web dialogue avec un serveur Web via le protocole HTTP.
- Une requête HTTP contient
- L'URL de la ressource recherchée
- Divers autres paramètres liés à configuration du navigateur (langue préférée, etc.)
- Une réponse contient
- Des informations sur la ressource trouvée (son type MIME notamment, qui permetta
au navigateur de l'interpréter)
- Les données de la ressource trouvée, comme :
- Le code HTML d'une page Web (incluant éventuellement du JavaScript)
- Les octets d'une image
- etc
La réponse est ensuite interprétée :
- Par le client web s'il sait comment traiter le type MIME de la ressource reçue
- Par un plugin du client web
- Par un autre logiciel (le client web peut demander de le sélectionner ou se souvenir de la dernière sélection,
ou demander l'OS d'exécuter le logiciel adéquat pour ce type de fichier)
Support
Au fil du temps la diversité de support des clients web en termes de :
- Technologies utilisées (HTML5, CSS3, Javascript)
- Caractéristiques variables d'affichage (dimensions, fontes)
A abouti à concevoir les sites/webapps selon des principes de :
- Conception web adaptative (RWD), stratégie de
tolérance aux défaillances (fault tolerance) via :
- Mode dégradé (graceful degradation) donnant priorité à la présentation, au visuel
- Mode réaussé (progressive enhancement) : donnant priorité au contenu/à
la structure. Préférable, ne serait-ce que pour être correctement adapté aux plates-formes mobiles.
Automation
Utile pour tests.
Design
La conception d'un site web/d'une webapp en elle-même est l'activité de web design.
Exemples
Des exemples de clients Web sont :
- Navigateurs
- Chrome (Google)
- IE (Microsoft) — La version 6 pour Windows est plus conforme aux
standards que ses prédécesseurs 5.0 et 5.5. Réclame cependant assez de mémoire pour ne pas faire grésiller
votre disque dur sans discontinuer. Il est gratuit. La version 5 pour Mac fait un beau travail de conformance
aux standards.
- JavaSoft HotJava — Navigateur en Java développé par Sun. Project abandonné aujourd'hui (voir
d'autres projets de navigateurs Java comme Jazilla).
- Konqueror — Léger, anglophone, et conforme aux
standards pour Linux.
- Lynx — Mode texte uniquement, pour plates-formes Unix et VMS.
- NCSA Mosaic — Le premier navigateur.
- Netscape Navigator — Gratuit, conforme à 5 standards
importants, y compris XML et DOM. Si votre machine n'est pas assez puissante, vous riquez de le
trouver lent. Disponible en français.
- Mozilla — OSS et gratuit respectant les standards. Il est la base sur
laquelle sont construits d'autres navigateurs, par exemple Netscape 7. Il est rapide et doté de nombreuses
fonctionalités (mail, chat, DOM Inspector).
- Opera — Léger et rapide respectant les standards. Disponible sur 5 OS,
et en français.
- W3C Amaya — Développé par le W3C. A la fois navigateur et éditeur.
- Composants
Notes
- La Same Origin Policy limite les requêtes d'un client web à son serveur, ce qui peut être
contourné via le CORS.
- Egalement désigné sous le terme plus général de "/tech/info/soft/proj/design/arch/web/client Web" (rapport au
"serveurs" Web auquels il se connecte)
- Peut constituer un client "universel", qui ne dépend plus d'une l'application installée sur tel ou tel serveur.
- Supportent généralement l'exécution de code JavaScript (inclut dans les
pages Web téléchargée ou placé dans des fichiers JavaScript séparés)
- Constitue la partie cliente d'une architecture C/S Web.
-
|
Editeur |
Apple |
Google |
Mozilla |
Microsoft |
|
|
Produit |
Safari/iOS |
Chrome/Android |
Firefox/ |
IE |
Opera |
|
Version |
|
|
1 |
6 |
7 |
Domaine |
Technologie |
|
|
0 |
0 |
0 |
Navigation |
Onglets |
|
|
Oui |
Non |
|
Popups |
Blocage possible |
|
|
Oui |
|
|
Recherche |
|
|
|
Oui |
|
|
Protocole |
HTTP |
|
|
|
|
1.1+ |
Langage |
HTML |
|
|
|
|
4.01 |
XHTML |
|
|
|
|
|
1.0 |
WML |
|
|
|
|
|
2.0 |
CSS |
|
|
|
|
|
2 |
JavaScript |
Interpréteur |
|
|
|
Oui |
1.3/1.5 |
Debugger |
|
|
|
|
Non |
|
XML |
Affichage |
|
|
|
via XSL |
|
Feuilles de style |
|
|
|
|
|
|
Base |
|
|
|
|
|
|
XSLT |
|
|
|
|
|
Oui |
Xpath |
|
|
|
|
|
|
RDF |
|
|
|
|
|
|
MathML |
|
|
|
|
|
|
XML-RPC |
|
|
|
|
|
|
SOAP |
|
|
|
|
|
|
Namespaces |
|
|
|
|
|
Oui |
XLink |
|
|
|
|
|
|
DOM |
|
|
|
|
via XSL |
2 |
Sécurité |
Certificats X.509 |
|
|
|
Téléchargement de CA |
|
Sécurité |
Cookies |
|
|
|
|
|
Sécurité |
SSL |
|
|
|
Oui |
3.0 |
Java
|
JRE |
|
|
|
1.1.4 (SDK for Java 4.0) |
|
JNI |
|
|
|
|
Oui |
Oui |
Plate-forme |
Windows 95 |
|
|
|
|
Oui |
|
Windows 98 |
|
|
|
Oui |
Oui |
|
Windows NT 4 |
|
|
|
Oui |
Oui |
|
Windows 2000 |
|
|
|
Oui |
Oui |
MacOS |
|
|
|
|
Oui |
Oui |
Linux |
|
|
|
|
Oui |
Oui |
Rendu |
|
Webkit |
Webkit |
|
|
|
Voir