Que sont un serveur et un client ?
Lorsque vous consultez un site web, votre PC ou votre smartphone ne se contente pas d'afficher un écran.
En réalité, le navigateur ou l'application envoie une requête à un serveur sur Internet, et le serveur renvoie les données nécessaires.
À ce moment-là, le côté qui envoie la requête s'appelle le client, et le côté qui reçoit la requête et renvoie une réponse s'appelle le serveur.
Une grande partie des communications web repose sur cette relation entre client et serveur.
Pour le dire simplement, la base d'une communication web prend la forme suivante.
Le client demande. Le serveur répond.
Cet article organise la relation entre le « côté qui demande » et le « côté qui répond », qui constitue la base des communications web.
Que signifie consulter un site web ?
Lorsque vous ouvrez un site web dans un navigateur, une page s'affiche à l'écran.
Mais cette page n'était pas déjà présente dans votre appareil dès le départ.
Le navigateur communique avec le serveur du site web et obtient les données nécessaires pour afficher la page.
Par exemple, supposons que vous ouvriez la page d'un article.
À ce moment-là, le navigateur envoie au serveur une requête du type :
« Donnez-moi les données de cette page. »
Le serveur reçoit cette requête et renvoie les données nécessaires pour afficher la page.
Le navigateur lit les données renvoyées et affiche à l'écran le texte, les images, les boutons, la mise en page et les autres éléments.
Autrement dit, consulter un site web repose sur le flux suivant.
- Le navigateur envoie une requête au serveur
- Le serveur reçoit la requête
- Le serveur renvoie les données nécessaires
- Le navigateur affiche les données reçues à l'écran
De votre point de vue, il peut sembler que vous avez simplement ouvert une page.
Mais en arrière-plan, des « requêtes » et des « réponses » circulent entre le client et le serveur.
Qu'est-ce qu'un client ?
Un client est, dans une communication, le côté qui envoie une requête.
Lorsque vous consultez un site web, votre navigateur est le client.
Par exemple, des navigateurs comme Chrome, Safari, Firefox et Edge envoient des requêtes à des serveurs pour afficher des sites web.
Le navigateur demande au serveur :
« Donnez-moi les données nécessaires pour afficher cette page. »
Puis il utilise les données renvoyées par le serveur pour afficher la page web à l'écran.
Autrement dit, un navigateur n'est pas une simple application d'affichage.
C'est un client qui envoie des requêtes au serveur d'un site web et affiche les données renvoyées.
Les applications peuvent aussi être des clients
Les navigateurs ne sont pas les seuls à devenir des clients.
Les applications de smartphone et les applications PC deviennent aussi des clients lorsqu'elles envoient des requêtes à un serveur.
Par exemple, lorsque vous ouvrez une application de réseau social, elle affiche un fil, des notifications, des profils, des images, des vidéos et d'autres informations.
Toutes ces informations ne se trouvent pas dès le départ dans le smartphone.
L'application envoie une requête au serveur et reçoit les données les plus récentes.
Par exemple, une application de réseau social peut envoyer au serveur des requêtes comme celles-ci.
- Donnez-moi les données du fil
- Vérifiez les nouvelles notifications
- Donnez-moi le profil de cet utilisateur
- Donnez-moi les données de cette image ou de cette vidéo
Le serveur renvoie les données nécessaires en fonction de ces requêtes.
Puis l'application affiche à l'écran les données reçues.
Les applications de notes dans le cloud, les applications de messagerie, les jeux en ligne et les applications de partage de fichiers fonctionnent de la même manière.
Elles demandent les données nécessaires au serveur et fonctionnent à partir des données renvoyées.
Autrement dit, le mot client ne désigne pas seulement le navigateur.
Dans une communication, le côté qui envoie une requête est le client.
Qu'est-ce qu'un serveur ?
Un serveur est, dans une communication, le côté qui reçoit une requête et renvoie les données nécessaires.
Dans le cas d'un site web, le serveur possède les données nécessaires pour afficher le site.
Par exemple, les sites d'actualité, les moteurs de recherche, les réseaux sociaux et les sites de vente en ligne reçoivent des requêtes depuis les navigateurs ou applications des utilisateurs, puis renvoient des données en fonction de ces requêtes.
Les données renvoyées par un serveur peuvent par exemple être les suivantes.
- HTML
- CSS
- JavaScript
- Images
- Vidéos
- Corps d'article
- Informations de produit
- Informations d'utilisateur
Le HTML est une donnée qui représente le texte et la structure d'une page.
Le CSS est une donnée qui définit l'apparence, comme la taille des caractères, les couleurs et la disposition.
JavaScript est une donnée utilisée pour créer les réactions quand on appuie sur un bouton ou les traitements effectués sur une page.
Les images et les vidéos sont des données multimédias affichées dans la page.
Le navigateur lit ces données renvoyées par le serveur et les affiche à l'écran comme une page web.
Même une seule page peut entraîner plusieurs requêtes
Quand vous ouvrez une page web, le navigateur ne se contente pas toujours d'une seule communication.
Plusieurs données peuvent être nécessaires pour afficher une page.
Par exemple, lorsque vous ouvrez une page d'article, le navigateur obtient d'abord les données du corps de la page.
Ensuite, il peut obtenir en plus le CSS qui règle l'apparence de la page, le JavaScript qui crée les comportements dans la page, les images de l'article, etc.
Ainsi, même si vous avez l'impression d'ouvrir une seule page, plusieurs requêtes peuvent être effectuées en arrière-plan.
Il peut s'agir par exemple des requêtes suivantes.
- Donnez-moi les données du corps de la page
- Donnez-moi les données de design
- Donnez-moi le fichier image
- Donnez-moi les données pour le comportement de la page
- Donnez-moi les derniers commentaires ou notifications
Le serveur renvoie les données nécessaires pour chaque requête.
Le navigateur combine les données renvoyées et les affiche à l'écran comme une seule page web.
Il est donc plus facile de comprendre une page web comme « quelque chose que le navigateur assemble et affiche à partir des données renvoyées par le serveur ».
Où se trouvent les données d'un site web ?
Les données d'un site web se trouvent, en principe, du côté serveur.
Lorsque vous ouvrez un site web, le navigateur se connecte au serveur et obtient les données nécessaires.
Puis le navigateur affiche à l'écran les données obtenues.
Autrement dit, consulter un site web signifie que le client va chercher des données situées sur le serveur et les affiche sur son propre appareil.
Cependant, une partie des images ou fichiers déjà chargés peut aussi être conservée temporairement sur votre appareil.
Cela sert par exemple à accélérer l'affichage lorsque vous ouvrez de nouveau la même page.
La structure de base ne change pas pour autant.
Les données du site web se trouvent du côté serveur, et le client les obtient selon les besoins.
Un serveur n'est pas forcément une seule machine
Dans cette page, par commodité, nous avons expliqué le « serveur » comme s'il s'agissait d'une seule entité.
Mais dans les services web réels, un serveur n'est pas forcément une seule machine physique.
Un petit site web peut fonctionner sur un seul serveur.
Mais les grands services web sont consultés simultanément par de nombreux utilisateurs.
Ils peuvent donc répartir les traitements entre plusieurs serveurs.
Par exemple, la répartition des rôles peut prendre les formes suivantes.
- Serveur qui renvoie les pages web
- Serveur qui distribue les images ou vidéos
- Serveur qui gère les informations d'utilisateur
- Serveur qui traite la base de données
- Mécanisme qui répartit les accès entre plusieurs serveurs
Aujourd'hui, il est aussi courant de faire fonctionner un service web dans le cloud.
Dans le cloud, l'exploitant du service web n'a pas à préparer lui-même des machines physiques ; il utilise un environnement serveur fourni par un prestataire cloud.
De plus, la distribution des images, vidéos, CSS, JavaScript et autres ressources peut utiliser un CDN.
Un CDN est un mécanisme qui place des données à plusieurs endroits et les distribue depuis un lieu proche de l'utilisateur.
Cela peut accélérer l'affichage des pages ou réduire la charge du serveur d'origine.
Il n'est toutefois pas nécessaire de mémoriser dès le départ toute cette structure détaillée.
Ce qui compte d'abord, c'est que le serveur a pour rôle de recevoir les requêtes du client et de renvoyer les données nécessaires.
Et, dans les services web réels, ce rôle peut être soutenu non seulement par une seule machine, mais aussi par plusieurs serveurs, le cloud, un CDN et d'autres composants.
Client et serveur sont déterminés par le rôle
Client et serveur ne sont pas déterminés uniquement par le type de machine.
Ce qui importe, c'est le rôle joué dans la communication.
Le côté qui envoie une requête est le client.
Le côté qui reçoit la requête et renvoie une réponse est le serveur.
Par exemple, votre PC fonctionne habituellement comme client lorsque vous consultez des sites web.
Mais si vous publiez un service web sur ce PC et acceptez les connexions depuis d'autres appareils, ce PC peut aussi fonctionner comme serveur.
Autrement dit, il est plus facile de comprendre client et serveur non comme des « noms d'appareils », mais comme des « rôles dans une communication ».
Point important pour réfléchir à l'anonymat
La relation entre client et serveur est importante pour réfléchir à l'anonymat.
En effet, dans les communications web, votre navigateur ou application envoie en principe une requête au serveur de destination.
Le serveur reçoit la requête du client.
Pour cette raison, certaines informations peuvent être visibles du côté du site web.
Par exemple, le site web peut voir des informations comme celles-ci.
- L'adresse IP visible comme source de connexion
- L'heure d'accès
- La page demandée
- Des informations sur le navigateur ou l'appareil
- Des informations relatives aux cookies
Le point important ici est que les informations visibles par l'autre côté changent selon que votre appareil se connecte directement au site web, que vous utilisez un , ou un proxy, ou encore que le site de destination utilise un CDN.
Par exemple, si vous vous connectez directement à un site web, le serveur de destination peut voir l'adresse IP attribuée à votre ligne.
En revanche, si vous passez par un VPN ou Tor, le site web peut voir l'adresse IP du relais ou du service utilisé, plutôt que votre adresse IP d'origine.
De plus, si des cookies sont utilisés, le site web peut parfois reconnaître les accès venant du même navigateur.
Toutefois, ce qui est visible et jusqu'où cela l'est dépend du chemin de communication, des réglages du navigateur, du fonctionnement du site web, de la présence ou non de HTTPS, de la manière dont les cookies sont utilisés, etc.
À ce stade, ce qu'il faut comprendre n'est pas le détail des techniques de suivi.
Le point essentiel est d'abord que, dans une communication web, le client envoie une requête au serveur, et que le serveur reçoit cette requête.
C'est parce que cette structure existe que se pose la question : « qu'est-ce qui est visible pour le serveur de destination ? »
Pour comprendre l'anonymat, il faut d'abord saisir cette relation entre client et serveur.
Résumé
Un client est le côté qui envoie une requête dans une communication.
Les navigateurs web, applications de smartphone et applications PC deviennent des clients lorsqu'ils envoient des requêtes à un serveur.
Un serveur est le côté qui reçoit une requête et renvoie les données nécessaires.
Les données d'un site web sont en principe placées côté serveur, et le navigateur ou l'application obtient les données nécessaires depuis le serveur.
Quand vous consultez une page web, le navigateur demande au serveur : « Donnez-moi les données de cette page. »
Le serveur renvoie du HTML, du CSS, du JavaScript, des images, etc.
Le navigateur lit les données reçues et les affiche à l'écran.
De plus, dans les services web réels, le serveur n'est pas forcément une seule machine physique.
Plusieurs serveurs, le cloud, un CDN et d'autres mécanismes peuvent être utilisés.
Mais la base ne change pas.
Le client demande, et le serveur répond.
C'est la structure de base des communications web.
Lorsque l'on réfléchit à l'anonymat, il faut partir de cette structure et se demander ce qui est visible pour le serveur de destination.
Outils liés
WhatIsMyIP
Ressource externe liée à cet article. Ouvrez-la seulement si elle correspond à votre situation et à votre modèle de menace.
Pourquoi il est listé ici: Elle peut aider sur le sujet de l’article, mais elle se situe hors d’Anonymity Sense et doit être vérifiée avant usage.
BrowserLeaks WebRTC
Ressource externe liée à cet article. Ouvrez-la seulement si elle correspond à votre situation et à votre modèle de menace.
Pourquoi il est listé ici: Elle peut aider sur le sujet de l’article, mais elle se situe hors d’Anonymity Sense et doit être vérifiée avant usage.
Tor Project
Ressource externe liée à cet article. Ouvrez-la seulement si elle correspond à votre situation et à votre modèle de menace.
Pourquoi il est listé ici: Elle peut aider sur le sujet de l’article, mais elle se situe hors d’Anonymity Sense et doit être vérifiée avant usage.
Proton VPN
Ressource externe liée à cet article. Ouvrez-la seulement si elle correspond à votre situation et à votre modèle de menace.
Pourquoi il est listé ici: Elle peut aider sur le sujet de l’article, mais elle se situe hors d’Anonymity Sense et doit être vérifiée avant usage.
URL : https://protonvpn.com/
Mullvad VPN
Ressource externe liée à cet article. Ouvrez-la seulement si elle correspond à votre situation et à votre modèle de menace.
Pourquoi il est listé ici: Elle peut aider sur le sujet de l’article, mais elle se situe hors d’Anonymity Sense et doit être vérifiée avant usage.
URL : https://mullvad.net/