Menu Fermer

Comment fonctionne un serveur WEB

Cette entrée fait partie d'une série de 13 sur 13 dans la série Internet - comment ça marche : le dossier

Lorsque l’on commence à s’intéresser aux sites internet, on tombe sur le terme de serveur WEB.
Mais qu’est-ce qu’un serveur WEB ? Comment ça marche ?

Dans ce tutoriel complet, je vous explique essentiellement ce qu’est un serveur WEB.
Ensuite, je vous donne les grandes lignes du fonctionnement d’un serveur WEB.

Comment fonctionne un serveur WEB

Qu’est-ce qu’un serveur WEB ?

Un serveur Web est l’ordinateur qui reçoit et répond aux demandes des utilisateurs pour accéder à un site Web. Il se compose à la fois de matériel, sous la forme de l’appareil transportant les données et le logiciel en tant qu’OS de l’appareil et le logiciel de serveur Web.

En général, le serveur physique se trouve dans un centre de données (datacenter).
Du côté matériel, un serveur Web est un ordinateur se trouvant en général dans un centre de données (datacenter)qui stocke le logiciel de serveur Web et les fichiers de composants d’un site Web.
Par exemple, les documents HTML, les images, les feuilles de style CSS et les fichiers JavaScript).
Un serveur Web se connecte à Internet et prend en charge l’échange de données physiques avec d’autres appareils connectés au Web.

Côté logiciel, un serveur Web comprend plusieurs pièces qui contrôlent comment les utilisateurs Web accèdent à des fichiers hébergés. Au minimum, il s’agit d’un serveur HTTP.
Un serveur HTTP est un logiciel qui comprend les URL (Uniform Resource Locator) et HTTP (le protocole que votre navigateur utilise pour afficher les pages Web).
Un serveur HTTP est accessible via les noms de domaine des sites Web qu’il stocke, et il fournit le contenu de ces sites Web hébergés sur l’appareil de l’utilisateur final.
Les plus répandus sont : Apache, Nginx, Lighttpd, Microsoft Internet Information Services (IIS), Sun Java System Web Server, etc

Le client et le serveur WEB

Pour la plupart des utilisateurs un serveur WEB permet de délivrer les pages d’un site internet.
Mais on peut utiliser un serveur WEB pour un site intranet dans une entreprise.
Les objets connectés (IoT) utilise aussi un serveur WEB pour l’administration. Par exemple un routeur internet embarque un serveur WEB.
Un switch réseau peut aussi proposer un serveur WEB pour l’administration.

Comment fonctionne un serveur WEB

Clients et Serveurs

Un serveur WEB fonctionne donc sous le modèle client/serveur puisque d’un côté nous avons le serveur WEB et de l’autre le client avec un navigateur internet.

  • Les clients sont les appareils connectés à Internet de l’utilisateur Web typiques par exemple, votre ordinateur connecté à votre Wi-Fi, ou votre téléphone connecté à votre réseau mobile et un logiciel d’accès Web disponible sur ces appareils généralement un navigateur Web comme Mozilla Firefox ou Google 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 Web est téléchargée à partir du serveur sur la machine client pour être affichée dans le navigateur Web de l’utilisateur.
Le modèle ou architecture client-serveur

Le protocole HTTP

Chaque fois qu’un navigateur a besoin d’un fichier hébergé sur un serveur Web, le navigateur demande le fichier via HTTP. Lorsque la demande atteint le serveur Web, le serveur HTTP (logiciel) accepte la demande, trouve le document demandé et le renvoie au navigateur, également via HTTP.

Si le serveur ne parvient pas à fournir le document, il renvoie un code HTTP avec un numéro spécifique.
Par exemple, si le document demandé est introuvable, il renvoie une réponse 404 (not found).
Si le client n’a pas les autorisations pour accéder à un contenu, il renvoie une réponse 403 (forbidden).

Les requêtes HTTP entre un client et un serveur WEB

Mais HTTP va plus loin avec des méthodes (GET, POST, PUT, …) pour effectuer toutes sortes d’opérations.
Pour plus de détails, suivez ce guide complet :

Les étapes pour afficher une page WEB

Voici les principales étapes pour obtenir une page WEB provenant d’un serveur WEB :

  • L’utilisateur saisit l’adresse d’une page internet avec l’URL soit donc le nom de domaine + une page WEB
  • L’OS effectue une résolution DNS pour obtenir l’adresse IP du serveur WEB
  • Puis le navigateur WEB se connecte au serveur WEB et demande le contenu de la page WEB avec la méthode GET du protocole HTTP
  • Le serveur WEB retourne le code de la page WEB (HTML, CSS, JavaScript, etc)
  • Le navigateur WEB construit le contenu de la page WEB qui s’affiche ensuite à l’écran de l’utilisateur

Contenu statique vs Contenu dynamique

Un serveur Web peut être utilisé pour desservir du contenu statique ou dynamique.

Le contenu statique fait référence au contenu affiché tel quel, tandis que le contenu dynamique peut être mis à jour et modifié. Un serveur Web statique sera composé d’un ordinateur et d’un logiciel HTTP. Il est considéré comme statique car le serveur enverra des fichiers hébergés tels quels à un navigateur.

Le contenu dynamique se compose d’un serveur Web et d’autres logiciels tels qu’un serveur d’applications et une base de données. Il est considéré comme dynamique car le serveur d’applications peut être utilisé pour mettre à jour tous les fichiers hébergés avant d’être envoyés à un navigateur.
Le serveur Web peut générer du contenu lorsqu’il est demandé à la base de données. Bien que ce processus soit plus flexible, il est également plus compliqué.

PHP

De nombreux serveurs Web de base prennent également en charge les scripts côté serveur qui peuvent personnaliser la réponse au client. Le script côté serveur s’exécute sur la machine serveur et dispose généralement d’un ensemble de fonctionnalités larges, qui comprennent l’accès à la base de données. Le processus de script côté serveur utilisera également Active Server Pages (ASP), JavaScript ou Hypertext Preprocessor (PHP) et d’autres langages de script. Ce processus permet également de créer des documents HTML dynamiquement.

PHP est un serveur externe au serveur WEB, dans Apache il s’installe à travers un module, avec Nginx, vous pouvez installer PHP-FPM.
Le serveur WEB peut l’interroger pour interpréter le code PHP et obtenir en retour le code HTML dynamique à envoyer au client.

Serveur WEB : Le contenu statique vs Contenu dynamique et PHP

Serveurs Web distants vs locaux

La grande majorité des serveurs Web sont hébergés à distance. Comme son nom l’indique, un serveur distant est un serveur qui n’est pas au même emplacement que l’utilisateur.
En général, le serveur WEB se trouve dans un serveur d’un centre de données.
Un serveur Web distant – détenant la société dont vous la louez – peut contenir uniquement votre site Web ou plusieurs sites Web avec différentes URL.

Mais l’utilisation d’un serveur Web local signifie souvent transformer votre propre ordinateur portable, ordinateur ou tablette en serveur Web. Pour cela, vous avez installé un serveur WEB.
Ensuite, il peut recevoir des demandes des navigateurs d’autres personnes et leur accorder un accès à votre site Web. Cependant, vous pouvez également acheter un serveur dédié et le garder et le maintenir localement.
C’est aussi un très bon moyen pour faire des tests.

Serveur Web mutualisé

Comme évoqué précédemment, vous pouvez louer un serveur dédié dans un centre de données.
Mais pour les sites à moindres coup, il existe un serveur WEB mutualisé.
L’hébergeur propose des serveurs WEB présents sur différents serveurs physique qui hébergement des milliers de sites.
L’avantage de cette solution est que vous n’avez rien à gérer du côté technique.
Vous mettez en place les fichiers de votre site et vous avez accès à une base de données.
L’hébergeur s’occupe du reste.

Cependant, la vitesse du site est généralement moins bonne qu’avec un serveur dédié.

Glossaire

TCP/IP – Protocole de contrôle de transmission et protocole Internet sont des protocoles de communication qui définissent comment les données doivent voyager sur Internet. C’est comme les mécanismes de transport qui vous permettent de passer une commande, d’aller à la boutique et d’acheter vos marchandises. Dans notre exemple, c’est comme une voiture ou un vélo (ou quelle que soit la façon dont vous pourriez vous déplacer).

DNS – Le système de noms de domaine est comme un carnet d’adresses pour les sites Web. Lorsque vous tapez une adresse Web dans votre navigateur, le navigateur examine le DNS pour trouver l’adresse IP du site Web avant de pouvoir récupérer le site Web. Le navigateur doit savoir sur quel serveur le site Web vit, afin qu’il puisse envoyer des messages HTTP au bon endroit (voir ci-dessous). C’est comme rechercher l’adresse de la boutique afin que vous puissiez y accéder.

HTTP – Hypertext Transfer Protocol est un protocole d’application qui définit une langue pour les clients et les serveurs pour se parler. C’est comme la langue que vous utilisez pour commander vos marchandises.
URL : Le standard de syntaxe des adresses.

URL – Uniform Resource Locator) est un identifiant unique utilisé pour localiser une ressource comme des fichiers sur Internet.
Il s’agit d’une adresse Web que nous utilisons pour identifier une ressource spécifique sur le réseau.
Par exemple https://www.malekal.com/comment-fonctionne-un-serveur-web/ est une URL et apparaît ou peut être saisie dans la barre d’adresse du navigateur internet.

Naviguer dans la série<< Internet : comment ça marche ?