Le fonctionnement du Web

Cet article illustre, de façon simplifiée, ce qui se passe quand une page web s'affiche dans un navigateur web, sur votre ordinateur ou sur 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 et vous aideront à mieux développer par la suite.

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 ces deux interagissent :

  • Les clients correspondent aux appareils connectés sur Internet, utilisés par les personnes qui utilisent des sites web (par exemple, votre ordinateur connecté par Wi-Fi ou votre téléphone connecté sur le réseau mobile) et aux logiciels utilisés pour consulter les pages 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, on a une maison qui correspond au client. De l'autre côté, on a un magasin, qui correspond au serveur, et dans lequel on souhaite acheter quelque chose.

En plus du client et du serveur, on pourra 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 qui relie 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 avant de récupérer le site web. 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 on souhaite se rendre.
  • HTTP : Hypertext Transfer Protocol (pour « protocole de transfert hypertexte ») est un protocole 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).
    • Le 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 quand on accède à une page ?

Lorsque vous saisissez une adresse web dans votre navigateur, 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, ainsi que les autres données échangées entre le client et le serveur, sont échangées 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.217.105.

C'est ce qu'on appelle une adresse IP. Une adresse IP est censée représenter un endroit unique sur le Web. Par contre, ça n'est pas très pratique pour s'en souvenir. C'est pour ça que le système de noms de domaine 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 Wikipédia, vous pouvez taper 208.80.154.224 dans la barre d'adresse de votre navigateur. Voici un autre exemple avec Google :

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 plusieurs utilisateurs puissent consulter la même page web au même moment. Si les sites web étaient envoyés en un seul gros morceau, les utilisateurs ne pourrait télécharger qu'un seul site à la fois, 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 : SphinxKnight
 Dernière mise à jour par : SphinxKnight,