Le premier site web fonctionnait selon un principe toujours reconnaissable : un navigateur recevait une URL, envoyait une requête HTTP à un serveur, récupérait un document HTML puis l'affichait avec ses liens. L'ordinateur NeXT utilisé au CERN jouait un rôle décisif, car il servait à développer les premiers outils du Web et hébergeait le serveur associé à l'adresse info.cern.ch. Le système était rudimentaire, mais son architecture client-serveur est encore au coeur du Web.
Le parcours d'une page, du serveur jusqu'à l'écran
Consulter une ressource supposait qu'un document soit enregistré sur la machine qui exécutait le logiciel serveur. Le navigateur devait ensuite connaître son adresse. Derrière une consultation apparemment simple se déroulaient plusieurs opérations distinctes :
- L'utilisateur indiquait une URL. Cette adresse désignait le protocole à employer, la machine à contacter et la ressource demandée.
- Le navigateur localisait le serveur. Le nom de la machine permettait d'atteindre l'ordinateur connecté au réseau.
- Il envoyait une requête HTTP. Dans la première forme très simple du protocole, une commande telle que GET servait à demander un document.
- Le serveur cherchait la ressource. Le logiciel HTTP associait la demande reçue à un fichier disponible sur la machine.
- Le serveur transmettait le document HTML. Il envoyait son contenu par le réseau au logiciel client.
- Le navigateur interprétait le balisage. Il présentait le texte, les titres et les liens sous une forme lisible.
- Un lien lançait une nouvelle demande. Chaque ressource liée pouvait se trouver sur le même serveur ou sur une autre machine.
Ce fonctionnement est le socle technique qui a ensuite permis l'apparition de services très différents, depuis une encyclopédie comme Wikipédia jusqu'aux plateformes commerciales associées à l'histoire d'Amazon. Leur complexité actuelle ne change pas le principe fondamental : un client demande des ressources à un ou plusieurs serveurs.
Pourquoi l'ordinateur NeXT était-il central ?
La machine NeXT n'était pas le Web à elle seule. C'était un ordinateur sur lequel pouvaient fonctionner plusieurs éléments du dispositif. Son environnement NeXTSTEP facilita notamment la réalisation de WorldWideWeb, premier navigateur doté de fonctions d'édition. La machine employée au CERN hébergea également le logiciel serveur, connu sous le nom de CERN httpd, ainsi que les fichiers accessibles depuis info.cern.ch.
Il faut donc distinguer les rôles réunis matériellement sur un même ordinateur :
- la machine physique, qui fournissait le processeur, la mémoire, le stockage et la connexion réseau ;
- le système d'exploitation, qui permettait aux programmes de fonctionner ;
- le serveur HTTP, qui attendait les demandes et renvoyait les fichiers ;
- le navigateur-éditeur, qui permettait de consulter et de produire des documents hypertextes ;
- le contenu du site, constitué de documents reliés entre eux.
Un serveur est un rôle assuré par un logiciel et une machine ; un site est un ensemble organisé de ressources qu'il rend accessibles.
Cette distinction reste valable sur des systèmes plus récents. Un navigateur comme Firefox ou Google Chrome est un client : il ne contient pas le site demandé, mais récupère ses ressources et les interprète.
URL, HTTP et HTML : trois fonctions différentes
L'URL indique où demander la ressource
L'URL, ou localisateur uniforme de ressource, donne une adresse exploitable par un logiciel. Dans une adresse commençant par http://, cette première partie indique le protocole. Viennent ensuite le nom de la machine, puis éventuellement un chemin désignant un document précis. Une URL n'est donc ni une page ni son contenu : c'est son adresse.
HTTP organise l'échange
HTTP est le protocole de communication entre client et serveur. Il définit la manière de formuler une demande et de transmettre une réponse. Les premières versions étaient beaucoup plus limitées que le HTTP contemporain : elles ne possédaient pas toute la richesse des en-têtes, méthodes, codes de réponse et mécanismes de négociation actuels. HTTP ne décrit toutefois pas l'apparence d'une page. Il sert à faire circuler la ressource.
HTML structure le document
HTML est le langage de balisage du document hypertexte. Ses éléments permettent de distinguer des titres, des paragraphes, des listes ou des liens. Le navigateur lit ces indications et construit une représentation consultable. Les premières pages ne reposaient pas sur les couches devenues courantes par la suite : pas de feuilles de style sophistiquées, d'applications JavaScript ou de diffusion vidéo comparable à celle popularisée bien plus tard par YouTube.
Page, site, serveur et navigateur : les confusions à éviter
Une page web est une ressource consultable, généralement décrite en HTML. Un site web est un ensemble cohérent de pages et d'autres ressources, habituellement rattachées à une même identité ou adresse principale. Le serveur web est le logiciel qui répond aux requêtes, par extension la machine qui l'exécute. Le navigateur est le logiciel client qui demande, interprète et présente les ressources.
Ces éléments peuvent évoluer séparément. Un site peut changer de serveur sans que son identité éditoriale disparaisse. Un même serveur peut héberger plusieurs sites. Une page peut appeler des ressources provenant de plusieurs serveurs. Plusieurs navigateurs peuvent enfin afficher le même document, avec des capacités ou un rendu différents.
Le premier dispositif ne doit donc pas être imaginé comme une page enfermée dans un ordinateur isolé. Sa nouveauté architecturale résidait dans la combinaison d'adresses universelles, d'un protocole de transfert et de documents liés. Le passage à un réseau consultable plus largement relève de l'ouverture du World Wide Web public, tandis que les repères commémoratifs sont présentés avec l'anniversaire du premier site web.
Lancement du premier serveur Web du CERN sur une NeXT Computer
Questions fréquentes
Le premier site web et le premier serveur étaient-ils la même chose ?
Non. Le site était l'ensemble de documents et de liens publiés, tandis que le serveur était le logiciel chargé de transmettre ces documents. Ils étaient étroitement associés parce que le serveur et les fichiers du site se trouvaient sur la même machine NeXT, mais leurs fonctions restaient distinctes.
Info.cern.ch désignait-il une page ou un ordinateur ?
Info.cern.ch était le nom réseau de la machine hébergeant le premier serveur web. Une URL utilisant ce nom pouvait désigner une ressource précise stockée sur cette machine. Le nom d'hôte identifiait donc le serveur à contacter, pas à lui seul une page déterminée.
Le premier navigateur servait-il uniquement à lire des pages ?
Non. WorldWideWeb, développé dans l'environnement NeXTSTEP, combinait navigation et édition. Il permettait de consulter des documents hypertextes, de suivre leurs liens et de travailler sur leur contenu. Tous les navigateurs apparus ensuite n'ont pas conservé cette fonction d'édition intégrée.
Le premier site utilisait-il déjà HTTPS ?
Non. Les premiers échanges reposaient sur HTTP, sans la couche de chiffrement et d'authentification associée à HTTPS. Le principe client-serveur était déjà présent, mais les mécanismes modernes de sécurisation des communications web ont été ajoutés ultérieurement.
Une URL contient-elle forcément le nom d'un fichier HTML ?
Non. Une URL identifie une ressource et peut comporter un chemin, mais celui-ci ne correspond pas nécessairement à un nom de fichier visible. Le serveur peut décider quelle ressource renvoyer. Dans le premier Web, la relation avec des fichiers stockés sur la machine était généralement plus directe.
Le serveur affichait-il lui-même la page web ?
Le serveur transmettait le document demandé, mais son affichage relevait du navigateur. Le navigateur interprétait le HTML et présentait le résultat à l'utilisateur. Lorsque serveur et navigateur fonctionnaient sur la même machine, leurs responsabilités logicielles demeuraient néanmoins séparées.