Comment fonctionne le web?

Tout internaute, comme vous l’êtes, s’est nécessairement posé cette question, et comme toutes les questions du monde, il y a ceux qui connaissent la réponse et ceux qui, tout simplement, ne connaissent pas. Mais, il y a aussi ceux qui se croient avoir la réponse. Allez! si vous n’êtes pas encore sûr, nous sommes là, comme toujours, pour vous clarifier les choses.

Avant de répondre à cette question, nous devons tout d’abord élaborer l’architecture par laquelle le web fonctionne. Il s’agit d’une relation trop simple et courante appliquée sur un problème qui semble assez abstrait: relation Client – Serveur. Exactement! C’est parfaitement semblable au cas d’un café ou d’un restaurant. Il nous faut juste identifier qui est le client et qui est le serveur dans notre cas.

Architecture Client Serveur

Le client c’est vous! bon, pas vous en personne mais votre machine. Plus précisément, votre navigateur que ce soit Firefox, Chrome, Safari, ou encore Internet Explorer (oui, ça existe encore). A chaque fois que vous effectuez une recherche sur google, ou vous vous authentifiez à votre réseau social préféré, votre navigateur envoie une requête vers le serveur (généralement une requête HTTP, FTP, ou autre) et attend la réponse. Le serveur est une autre machine figurant quelque part dans un data center et qui attend les requêtes des internautes comme vous. Selon la requête du client, le serveur lui génère une réponse. Après tout, c’est la mission du serveur, il vous sert ce que vous désirez: un milk-shake, un jus d’orange, une page web, une image, .. et le client (le navigateur) vous affiche cette réponse. Les requêtes envoyées par le serveur contiennent des données et des en-têtes qui expriment votre besoin: je veux un café crème avec deux pièces de sucre et quelques goûtes de chocolats au dessus. Mais, comment la requête connaît et atteint-elle sa destination?

DNS ,URL, et adresse IP

D’abord, c’est le job du DNS. Quand vous écrivez rbk.tn dans la bare de recherche, une requête s’envoie à un serveur spécial appelé serveur DNS (Domain Name Server ou Serveur de Noms de Domaines). Comme son nom l’indique, ce serveur prend comme entrée le nom de domaine, qui est rbk.tn, et vous retourne l’adresse IP du serveur (la machine). C’est comme une liste de correspondance entre notre langage humain et les adresses IP de la forme xxxx.xxxx.xxxx.xxxx. Maintenant votre client peut envoyer les requêtes qu’il veut à cette adresse. Si vous entrez un nom de domaine inexistant, vous auriez un message d’erreur. C’est pour dire, “Désolé Monsieur, on n’a pas ça sur le menu”. Vous pouvez essayer d’atteindre www.brk.tn par example et admirer le message d’erreur que vous auriez.

Après, c’est question de paramètres et d’URL. Si vous allez sur “github.com” et ensuite vous choisissez “Team” dans la barre de navigation, vous allez remarquer que l’adresse s’est changé à “github.com/team”. Oui! on peut directement naviguer vers github.com/team et on aura la même réponse. On peut considérer cette réponse comme standard. C’est à dire, si n’importe quel client demande “github.com/team”, il aura la même réponse du serveur. En contrepartie, si vous essayez de vous authentifier, vous devez alors entrer votre identifiant et votre mot de passe. Le client va regrouper ces “paramètres” et les attacher à la requête. Le serveur va comparer ces paramètres à ce qu’il a dans la base de données et il générera une réponse qui peut être: un message d’erreur indiquant “Identifiant ou mot de passe erroné” ou bien vous seriez redirigé vers une page personnalisée selon les paramètres que vous avez entré.

Site Statique et Site Dynamique

A ce moment, vous pouvez voir la grande image et les notions de bases du fonctionnement du web. Comme vous l’avez remarqué, les serveurs peuvent retourner des réponses standard pour tous les internautes (indépendamment du client) et d’autres qui prennent des paramètres d’entrée et génèrent des réponses fortement dépendantes du client qui les invoque et des paramètres d’entré. Ca peut être une invitation “connect” sur Linkedin, l’envoie d’un email par gmail, ou bien l’ajout d’une annonce sur aliExpress. Biensûre, on ne peut pas arriver à imaginer qu’un site comme Facebook ou PayPal retournera des réponses standards ou aléatoires. Ca va créer des catastrophes. C’est exactement la différence entre site statique et site dynamique. Ce n’est pas question d’animation ou de contenu, mais ça revient aux types de réponses qu’il génère, statiques ou dynamiques. Un site vitrine qui présente une entreprise et ses activités est un site statique, un site e-commerce ou un réseau social est un site dynamique. Chacun admet ses cas d’utilisation et satisfait ses besoins. Fin de l’histoire.