Le World Wide Web. Nous l’utilisons tous les jours pour les nouvelles, les informations, les opérations bancaires ou pour bavarder avec des amis. L’accès à Internet fait partie de notre quotidien au même titre que, disons, le téléphone ou la télévision. Mais vous êtes-vous déjà demandé comment fonctionne le World Wide Web ?

Dans cet article, vous découvrirez les éléments fondamentaux sur lesquels repose cette technologie fascinante.

Qu’est-ce que le World Wide Web ?

world wide webPour tous ceux qui veulent être actifs sur le web, que ce soit en tant que concepteur ou fournisseur, il est important de comprendre comment fonctionne le web. Quel est le rôle des clients et des serveurs, comment un navigateur construit-il des pages web, quelle est l’importance des hébergeurs. Il faut être au clair sur ces points et d’autres encore pour pouvoir naviguer avec succès sur le web. Avant de nous pencher sur les différents aspects, prenons un peu de recul et jetons un coup d’œil sur l’ensemble.

Le point le plus important est peut-être le suivant. Même si nous avons pris l’habitude d’utiliser les deux termes World Wide Web et Internet comme des synonymes, ils ne le sont pas. Internet désigne un vaste réseau mondial dans lequel des millions et des millions d’ordinateurs sont reliés entre eux et peuvent échanger des données. Cet échange de données est régi par différents protocoles. Il s’agit par exemple de l’e-mail, du courrier électronique, mais aussi des messages courts envoyés par SMS via Internet. Entre-temps, il existe d’innombrables applications de programmes qui utilisent Internet pour des fonctions centrales, qui téléchargent des parties de programme depuis le réseau ou qui gèrent des données d’application via le web.

Le World Wide Web, ou plus brièvement le Web, n’est ici qu’un des nombreux services qui constituent l’ensemble d’Internet. En résumé, le World Wide Web transmet ses données via Internet, et le World Wide Web utilise pour cela le protocole Hypertext Transfer Protocol, en abrégé HTTP. Regardons le web d’un peu plus près. Comme pour tous les réseaux, le web implique un client et un serveur. Le web peut également être considéré comme la somme des interactions entre un client web et un serveur web.

Que peuvent donc être ces clients ?

Les clients sont les terminaux qui demandent et affichent le contenu du web. Il existe une multitude de clients différents qui fonctionnent sur différents appareils, du PC au téléviseur ou à la console de jeux, en passant par les ordinateurs tablettes et les smartphones. Le client le plus populaire est certainement le navigateur web, mais les applications mobiles agissent aujourd’hui également en tant que client web et demandent des données aux serveurs web. Les lecteurs d’écran transforment les contenus Web en fichiers audio ou les préparent pour les afficheurs braille. Les agrégateurs rassemblent les contenus des sources les plus diverses sur le web et les présentent en boucle. Il existe une multitude d’autres clients, et il est quasiment impossible de trouver aujourd’hui un appareil qui ne puisse pas être utilisé comme client web sous une forme ou une autre. Tous ceux qui veulent être actifs sur le web doivent se familiariser avec cette multitude d’appareils qui ont tous leurs spécificités. Ce n’est pas une tâche facile.

Et c’est peut-être le plus grand défi auquel le World Wide Web vous confronte en tant que webdesigner.

Les serveurs web

serveurs webLes serveurs sont souvent considérés comme des ordinateurs à part entière, on parle alors généralement de mon serveur comme de mon PC, ou de mon PC comme d’un serveur. Mais ce n’est pas du tout le cas. Un serveur n’est pas du matériel, c’est un programme spécial, donc un logiciel. Il existe différents programmes de serveur, mais ils font tous en principe la même chose. Ils fournissent des contenus au client à partir du disque dur de l’ordinateur. Ces contenus peuvent être des pages web, mais aussi des e-mails, des données, c’est-à-dire une base de données, des fichiers vidéo et audio, etc. Deux termes sont régulièrement confondus ou utilisés comme synonymes : page web et site web. La plupart du temps, cette confusion n’est pas grave et le contexte permet de savoir ce que l’on entend par là. Mais il faut tout de même connaître la différence fondamentale. Une page web est un document unique, un fichier concret unique sur le serveur web, qui est affiché en une seule fois dans la fenêtre du navigateur. Un site web, en revanche, désigne l’ensemble des pages web, des éléments et des fonctions qui constituent une présence web dans son ensemble. Prenons rapidement un exemple simple. J’ai chargé ici mon propre site web, « damaschke.de », à titre d’exemple. Vous voyez ici au début une page de bienvenue, et cette page de bienvenue, avec « Bienvenue sur mon site web », est une page web, une page web unique, qui s’affiche en une seule fois dans le navigateur. Cela vaut également pour toutes les autres pages sur lesquelles vous pouvez cliquer ici. Donc ici, par exemple, les textes sont une page web unique, les livres sont une page web unique, les mentions légales aussi, et ainsi de suite. Toutes ces pages forment alors le site web « domaine.fr ».

Comment le client et le serveur communiquent

Maintenant que nous avons appris à connaître le modèle client-serveur de base, nous pouvons regarder de plus près ce qui se passe lorsqu’un client, par exemple un navigateur web, demande des contenus à un serveur web. Chaque fois que vous cliquez sur un lien vers une page web ou que vous tapez une adresse dans le navigateur, ce dernier envoie une requête au serveur. Jetons un coup d’œil dans les coulisses pour savoir ce qui se passe exactement lors de cette demande et comment le navigateur obtient finalement les contenus qu’il doit afficher.

Lorsque le navigateur envoie une requête, il utilise normalement une URL, un Uniform Resource Locator. Cette URL est certes assez facile à lire et à comprendre pour nous, mais un serveur ne peut absolument rien en faire. La demande du navigateur est donc d’abord envoyée à un serveur DNS. DNS signifie Domain Name System, dans lequel, pour simplifier, chaque URL se voit attribuer une adresse Internet ou une adresse IP. Le serveur DNS envoie l’adresse IP au navigateur, qui sait alors quel serveur web il doit contacter. Si le contenu demandé n’est que du simple HTML, le serveur envoie le fichier HTML et tout ce qui s’y rapporte, les graphiques, CSS et JavaScript, au navigateur. Celui-ci assemble le tout, exécute le JavaScript et affiche finalement la page web. Les pages web composées de ces éléments et envoyées au navigateur sont appelées pages statiques. Dans le cas des pages statiques, tous les fichiers nécessaires sont transmis directement du serveur au client, le navigateur. Pour les pages dynamiques, c’est fondamentalement différent. Ces pages doivent d’abord être traitées sur le serveur. On utilise souvent PHP à cet effet. Mais il existe aussi d’autres applications web, comme .NET ou Ruby. Examinons cela à l’aide d’un exemple simple. Supposons par exemple que vous souhaitiez réserver un hôtel aux États-Unis via Internet. Pour ce faire, vous envoyez une demande avec la date souhaitée au serveur, qui ne peut pas se contenter d’envoyer une page web toute faite en guise de réponse. Au lieu de cela, il doit d’abord déterminer, par exemple avec PHP, si une chambre est disponible à la date souhaitée. Cette réponse provenant de la base de données est ensuite assemblée avec les autres éléments de la page web avec CSS, JavaScript et des graphiques sur le serveur pour former une page. Et c’est seulement maintenant que le serveur envoie cette page au navigateur en réponse à la requête.

Le système de noms de domaine (DNS)

dns nom domaineLe DNS ou système de noms de domaine est l’un des composants les plus importants et les plus souvent ignorés d’Internet. Le DNS marque en quelque sorte la différence fondamentale entre les hommes et les ordinateurs. Lorsqu’un serveur web gère un site web, il attribue à chaque site sa propre adresse IP. L’adresse IP de « domaine.com » est par exemple 75.15.127.111. Alors que les ordinateurs n’ont absolument aucun problème avec ces monstres numériques, nous trébuchons très facilement. Imaginez que vous deviez mémoriser l’adresse IP de chaque site web que vous souhaitez visiter. C’est bien sûr totalement impensable. Le DNS fait ici le lien entre nous et les machines en se chargeant de la traduction des adresses IP en noms de domaine et inversement. C’est pour cette raison que le DNS est souvent appelé l’annuaire téléphonique d’Internet, et il n’y a guère de meilleure description de ce que le système de noms de domaine accomplit. Lorsque vous tapez l’adresse « www.domaine.com » dans votre navigateur, le DNS, ou plutôt un serveur DNS, se charge de traduire cette adresse lisible et relativement facile à retenir en adresse IP correcte. L’adresse IP est envoyée au navigateur, qui sait alors où trouver le serveur souhaité sur Internet. Pour mieux comprendre ce processus, examinons-le en détail. Le DNS est une énorme base de données en constante évolution, gérée par des millions de serveurs dans le monde entier. Lorsque vous enregistrez un nouveau site web ou un nouveau domaine, une adresse IP propre est attribuée à ce domaine. C’est généralement l’hébergeur qui s’en occupe, et la gestion du DNS se fait en coulisses. Dès que cette attribution et l’enregistrement dans le DNS sont terminés, votre site web peut être consulté et affiché par n’importe quel navigateur dans le monde.

Mais que se passe-t-il exactement ?
sites internetSupposons que vous saisissiez « www.domaine.com » dans votre navigateur. Dans un premier temps, le navigateur emprunte le chemin le plus court. Il demande au serveur DNS de votre fournisseur d’accès local si le domaine est connu. Si c’est le cas, le serveur DNS vous envoie l’adresse et le navigateur sait maintenant où s’adresser. Mais comme nous l’avons dit, le DNS est une énorme base de données et le fournisseur local ne peut pas gérer toutes les adresses IP. Que se passe-t-il donc si le fournisseur local ne connaît pas le domaine ? C’est là que les choses se compliquent un peu, mais pour simplifier, voici ce qui se passe : Il existe un petit nombre de serveurs répartis dans le monde entier, appelés serveurs de noms racine ou, plus simplement, serveurs root. Ces serveurs savent quels serveurs de noms sont responsables de la gestion des domaines de premier niveau. Dans notre exemple, avec « domaine.com », le serveur racine révèle l’adresse du serveur de noms qui est responsable du domaine « .com ». Le navigateur sait alors quel serveur de noms il doit contacter et obtient finalement l’adresse IP souhaitée. Vous remarquez déjà, avec cette représentation simplifiée, que l’appel d’une simple page web est un processus très complexe et coûteux. On s’étonne donc qu’il se déroule en pratique à la vitesse de l’éclair.

La mise en cache

httpLes caches DNS des fournisseurs locaux sont l’une des raisons de l’énorme rapidité de la requête DNS. Si vous consultez à nouveau l’adresse « www.lynda.com » dans les 24 heures, le fournisseur local connaît déjà l’adresse IP correspondante et peut l’envoyer immédiatement au navigateur sans passer par le serveur racine. C’est pourquoi les pages que vous visitez régulièrement, c’est-à-dire que vous consultez plusieurs fois par jour, sont trouvées et chargées à une vitesse fulgurante. Vous vous demandez peut-être pourquoi, en tant que webdesigner, vous devriez savoir tout cela ? Après tout, les ordinateurs se chargent de cette histoire de DNS, pourquoi devrions-nous nous en soucier ? Eh bien, c’est très simple. Si votre site web n’est pas correctement enregistré dans le DNS, personne ne trouvera votre page. Pensez à l’annuaire téléphonique. Si votre numéro de téléphone ne figure dans aucun annuaire, personne ne pourra vous appeler. Cela vaut bien sûr aussi si vous exploitez un site qui doit être accessible sous différents noms. Ces noms doivent également tous être correctement inscrits pour que cela fonctionne. Et encore une chose. Le DNS vous dit à qui appartient réellement un domaine ou une page. Si vous enregistrez correctement un site, vous êtes propriétaire de ce domaine. Toutes les modifications de l’enregistrement DNS ne sont possibles qu’avec votre soutien, l’hébergeur n’effectuera aucune modification sans votre accord. Vous pouvez ainsi vous prémunir contre le vol de votre domaine par un malandrin. Et il y a encore une chose que vous devez garder à l’esprit. Si vous déménagez votre site d’un hébergeur à un autre, l’adresse IP du site change également, et donc aussi l’enregistrement DNS. Cela peut prendre jusqu’à 24 heures pour que ces changements se propagent dans tout le système DNS. Si vous souhaitez donc déménager une fois, prévoyez de le faire un jour où votre site aura moins de visiteurs que d’habitude. Donc, par exemple, le week-end ou un jour férié.