Le World-Wide Web utilise le modèle classique client/serveur. Mais contrairement aux autres services comme TELNET ou FTP, les rôles respectifs du client et du serveur sont moins évidents.
Un serveur W3 est un programme qui tourne sur un ordinateur dans le seul but de répondre à des requêtes de logiciels clients W3 tournant sur d'autres ordinateurs.
Ces requêtes peuvent être simplement la demande de transfert d'un fichier,
mais aussi le résultat de l'exécution d'un programme sur la machine serveur
(par exemple l'interrogation d'une base de données).
Cette propriété, qui consiste à faire exécuter
un programme au serveur, est l'une des
propriétés importantes de W3, car elle va permettre son interfaçage
avec pratiquement n'importe quel logiciel.
Un document est la plus petite unité fournie par le serveur en réponse à une requête du client. On utilisera aussi le terme, plus général, de ressource.
Un client W3 est un programme qui permet à un utilisateur de soumettre des requêtes à
un serveur W3 et de visualiser le résultat.
Mais un client W3 est capable également
de dialoguer avec d'autres types de serveurs, en particulier avec les serveurs
FTP, GOPHER, WAIS, etc.
Le nombre de services ainsi accessibles dépend du logiciel client.
Ainsi un client W3 tel que Mosaic peut, en fait, être considéré
comme un client ``universel'' dans le domaine des services
d'information.
Le fait que l'accès à ces services soit fournie directement par
le client, et non par le serveur (sous forme de
passerelles), est un apport original de W3.
Dans W3, une ressource peut donc être un fichier, mais aussi la liste d'un répertoire (dans le cas par exemple de l'accès à un répertoire sur un serveur FTP anonymous), un menu GOPHER, l'accès à une base WAIS, etc.
Le dialogue entre un client W3 et un serveur (W3, FTP ou autre) est très simple :
Il n'y a pas de session permanente entre un client W3 et un serveur (W3, FTP ou autre).
Le langage utilisé entre un client W3 et un serveur W3 s'appelle HyperText Transmission Protocol.