Cet article illustre, de façon simplifiée, ce qui se passe quand une page web s'affiche dans un navigateur, sur votre ordinateur ou votre téléphone.

Ces éléments théoriques ne sont pas strictement nécessaires pour commencer à faire du développement web dans un premier temps. Cependant, ils seront plus qu'utiles pour mieux comprendre comment le Web fonctionne en arrière-plan.

Des clients et des serveurs

Les ordinateurs qui se connectent au Web sont appelés des clients et des serveurs. Voici un diagramme simplifié qui illustre comment ils interagissent :

  • Les clients correspondent aux appareils des utilisateurs connectés sur Internet (par exemple, votre ordinateur connecté par Wi-Fi ou votre téléphone connecté sur le réseau mobile) et aux logiciels d'accès au web (par exemple, les navigateurs comme Firefox ou Chrome).
  • Les serveurs sont des ordinateurs qui stockent des pages web, des sites ou des applications. Lorsqu'un appareil « client » souhaite accéder à une page web, une copie de la page est téléchargée depuis le serveur vers le client, la machine utilisée affiche alors le contenu dans le navigateur web de l'utilisateur.

Les autres composants du Web

Le client et le serveur ne sont pas les seuls éléments qui interviennent. Il y a beaucoup d'autres composants que nous allons décrire dans la suite de cet article.

Faisons un parallèle entre le Web et une rue. D'un côté de la rue, il y a une maison qui correspond au client. De l'autre côté,  un magasin correspondant au serveur, et dans lequel vous souhaitez acheter quelque chose.

En plus du client et du serveur, nous pouvons aussi croiser :

  • La connexion Internet : celle-ci permet d'envoyer et de recevoir des données sur le web. Dans notre métaphore, elle correspond à la rue entre la maison et le magasin.
  • TCP/IP : Transmission Control Protocol / Internet Protocol (qui correspondent chacun, en français à : protocole de contrôle de transmission et protocole Internet) sont des protocoles qui définissent comment les données sont transférées à travers le web. Pour notre métaphore, cela correspond au moyen de transport, comme une voiture ou un vélo, ou vos deux pieds.
  • DNS : Domain Name System (ce qui correspond à « système de noms de domaines ») est un système qui ressemble à un annuaire pour les sites web. Lorsque vous tapez une adresse dans votre navigateur, le navigateur utilise le DNS pour récupérer l'adresse réelle du site web afin de le trouver. En effet, le navigateur a besoin de savoir sur quel serveur le site web est situé pour pouvoir envoyer des requêtes HTTP au bon endroit (voir ci-après). Pour notre métaphore, cela correspond à chercher l'adresse du magasin dans lequel vous souhaitez vous rendre.
  • HTTP : Hypertext Transfer Protocol (pour « protocole de transfert hypertexte ») est un protocol d'application qui définit le langage avec lequel les clients et les serveurs communiquent. C'est la langue que vous utilisez pour demander les produits dont vous avez besoin.
  • Les fichiers : Un site web est composé de différents fichiers qui peuvent être vus comme les différentes parties des produits que vous achetez au magasin. Ces fichiers peuvent être rangés dans deux catégories :
    • Les fichiers de codes : Les sites web utilisent principalement HTML, CSS et JavaScript (nous découvrirons d'autres technologies plus tard).
    • Les fichiers matériels : Ces fichiers représentent tous les matériaux qui sont utilisés pour faire un site web : les images, les musiques, les vidéos, les PDF, etc.

Que se passe-t-il exactement ?

Lorsque vous saisissez une adresse web dans votre navigateur (dans notre métaphore, c'est comme aller au magasin), voici ce qui se passe :

  1. Le navigateur demande au DNS l'adresse réelle du serveur qui contient le site web (vous trouvez l'adresse du magasin).
  2. Le navigateur envoie une requête HTTP au serveur pour lui demander de lui envoyer une copie du site web (vous allez au magasin et vous passez commande). Ce message et les autres données envoyées entre le client et le serveur, sont échangés en utilisant TCP/IP.
  3. Si le serveur accepte la requête émise par le client, le serveur envoie un message « 200 OK » au client. D'une certaine façon cela signifie : « Pas de problème, tu peux consulter ce site web, le voici ». Ensuite le serveur commence à envoyer des paquets de données qui contiennent les morceaux des différents fichiers du site (le magasin accepte de vous fournir les produits puis vous les ramenez chez vous).
  4. Le navigateur assemble les différents fragments pour recomposer le site web en entier puis l'affiche sur votre écran (vous avez ramené les produits et vous pouvez les utiliser !).

Des explications sur DNS

Les vraies adresses utilisées sur le Web ne sont pas les mots que vous utilisez dans votre barre du navigateur pour retrouver vos sites web favoris. Derrière ces mots se cachent des adresses qui ressemblent plutôt à 63.245.215.20.

C'est ce qu'on appelle une Adresse IP, elle représente un endroit unique sur le Web. Par contre, ça n'est pas très facile à retenir. C'est pour ça que le système de noms de domaine (DNS) a été conçu. Les serveurs DNS sont des serveurs un peu spéciaux qui permettent de faire la correspondance entre l'adresse que vous saisissez dans votre navigateur (par exemple « mozilla.org ») et l'adresse réelle (l'adresse IP) du serveur qui contient le site.

Il est tout à fait possible d'accéder aux sites web en utilisant leurs adresses IP. Pour aller sur le site de Mozilla, vous pouvez taper 63.245.215.20 dans la barre d'adresse d'un nouvel onglet de votre navigateur.

A domain name is just another form of an IP address

Des explications sur les paquets

Un peu plus haut dans l'article, nous avons utilisé le terme « paquet » pour décrire le format avec lequel les données étaient envoyées depuis le serveur vers le client. Qu'est-ce que cela signifie ? Pour simplifier, lorsque des données sont envoyées sur le Web, elles sont envoyées en milliers de petits morceaux afin que de nombreux utilisateurs puissent consulter la même page web au même moment. Si les sites web étaient envoyés en un seul gros morceau, un seul utilisateur pourrait le télécharger à un moment donné (les autres devraient attendre leur tour), ce qui rendrait le web beaucoup moins pratique à utiliser et beaucoup moins performant.

Voir aussi

Crédits

Photo de rue : Street composing, par Kevin D.

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : TheStarrK, Ilphrin, loella16, SphinxKnight
 Dernière mise à jour par : TheStarrK,