Relation entre client et serveur

Alors on a vu comment les ordinateurs pouvaient communiquer entre eux. Maintenant, il est important de comprendre la notion de client/serveur. Voici la définition de wikipédia :

L'environnement client–serveur désigne un mode de communication à travers un réseau entre plusieurs programmes : l'un, qualifié de client, envoie des requêtes ; l'autre ou les autres, qualifiés de serveurs, attendent les requêtes des clients et y répondent. Par extension, le client désigne également l'ordinateur ou la machine virtuelle sur lequel est exécuté le logiciel client, et le serveur, l'ordinateur ou la machine virtuelle sur lequel est exécuté le logiciel serveur. Les serveurs sont des ordinateurs généralement destinés au logiciel serveur qu'ils abritent, et dotés de capacités supérieures à celles des ordinateurs personnels en ce qui concerne la puissance de calcul, les entrées-sorties et les connexions réseau. Les clients sont souvent des ordinateurs personnels ou des appareils individuels (téléphone, tablette), mais pas systématiquement. Un serveur peut répondre aux requêtes d'un grand nombre de clients.

Il existe une grande variété de logiciels serveurs et de logiciels clients en fonction des besoins à servir : un serveur Web publie des pages Web demandées par des navigateurs Web ; un serveur de messagerie électronique envoie du courriel à des clients de messagerie ; un serveur de fichiers permet de partager des fichiers sur un réseau ; un serveur de base de données permet de récupérer des données stockées dans une base de données, etc.

Caractéristiques d'un programme serveur :

  • il attend une connexion entrante sur un ou plusieurs ports réseaux locaux ;
  • à la connexion d'un client sur le port en écoute, il ouvre un socket local au système d'exploitation ;
  • à la suite de la connexion, le processus serveur communique avec le client suivant le protocole prévu par la couche application du modèle OSI.

Caractéristiques d'un programme client :

  • il établit la connexion au serveur à destination d'un ou plusieurs ports réseaux ;
  • lorsque la connexion est acceptée par le serveur, il communique comme le prévoit la couche application du modèle OSI.

Le client et le serveur doivent bien sûr utiliser le même protocole de communication au niveau de la couche transport du modèle OSI. On parle souvent d'un service pour désigner la fonctionnalité offerte par un processus serveur.

Plus de détails : https://fr.wikipedia.org/wiki/Client-serveur

Vous trouverez quelques définitions complémentaires comme ce qu'on appelle un extranet, un intranet, les types de réseaux. Il faut juste comprendre le principe de base et ne pas trop s'attarder sur le lien suivant :

https://wikimemoires.net/2019/12/le-systeme-client-serveur-et-types-darchitectures-reseaux/

Pour le coup, la vidéo sera très utile pour comprendre ce fonctionnement client/serveur. Cookie connecté propose des vidéos sur des thématiques expliquées en dessins. Concept intéressant !

Et il existe aussi une version « Serveur Web » :

Et enfin, une vidéo un peu plus « poussée »

Et pour finir, un petit Quiz pour tester les connaissances acquises :

http://www.journaldunet.com/solutions/questionnaire/fiche/10248/d/f/1/

L'Internet est utilisé de diverses manières : on parle d'Architectures d'usage de l'Internet. Par exemple :

  • Couche TCP (connexion fiable, techniquement - à laquelle peut être ajoutée une sécurisation des données transmises [le « S » de httpS ou ftpS])
    • Usage en transfert de fichiers avec les protocoles FTP et FTPS
    • Usage en messagerie (courrier électronique) avec les clients de messagerie et les protocoles IMAP, SMTP et POP
    • Usage en WWW (World Wide Web - le Web) avec les protocole HTTP et HTTPS (machines et applications soit clients, soit serveurs)
    • Usage en pair à pair (machines et applications simultanément clients et serveurs) avec les protocoles P2P (partage de fichiers en pair à pair), le calcul distribué, la VoIP, etc.).
    • Usage en messagerie instantannée avec le protocole IRC
    • Usage en groupes de discussion avec le protocole NNTP (Usenet)
    • Usage en transactions sécurisées (paiements en ligne) avec les protocoles SSL ou TLS
    • Usage en échange de messages fiables et infalsifiables (BitCoin et cryptomonaies) avec le protocole blockchain
    • Etc.
  • Couche UDP (connexion non fiable, techniquement, mais ultra rapide [transmission de petits datagrammes])
    • Usage pour la résolution des noms de domaines (hosts et DNS) avec le protocole DNS
  • Couche IP
    • Usage en contrôle du mécanisme IP (IPv4 et IPv6) avec le protocole ICMP

Client/serveur

Dans l'utilisation de l'Internet (naissance de l'internet), le mode client/serveur est né avec le WWW (World Wide Web) (naissance du Web). Votre ordinateur ou votre terminal mobile (tablette, smartphone,console de jeux, assistant personnel, etc.) dispose de logiciels qui font des requêtes à d'autres ordinateurs, les « serveurs » plus ou moins lointains (réseau local [LAN] ou réseaux extérieurs [WAN]), qui « servent » la réponse.

Typiquement, les « serveurs » sont les machines qui hébergent les sites Web consultés ou le courrier électronique ou les bases de données (forums de discussions, bases de données métier, etc.). Les serveurs peuvent être :

  • Serveur dédié ou privatif, sur lequel se trouve 1 seul domaine Web. On appelle, par simplification, UN serveur, un groupe éventuel de plusieurs machines serveurs, chacune étant spécialisée dans un service, le tout concourant à servir un domaine Web (serveur d'images, serveur de vidéo, serveur de fichiers, serveur de pages Web, serveur de base de données, etc.).
  • Serveur mutualisé sur lequel se trouvent hébergés des centaines ou des milliers de sites Web.

Cette relation est appelée client/serveur et, dans le serveur, les logiciels qui communiquent (essentiellement Apache pour les systèmes d'exploitation Unix et Windows et IIS (Internet Information Services) pour les systèmes d'exploitation Windows), sont sont des logiciels « serveurs ». Le logiciel serveur Apache et un logiciel libre et gratuit qui domine largement les logiciels serveurs !

  • En 2015, sur les parts de marché des serveurs actifs, 50,72 % le sont avec Apache, 14,82 % avec Nginx et 10,55 % avec IIS.
  • En février 2017, Apache est utilisé par 59,76% du total des domaines français enregistrés. La version 2 d'Apache possède plusieurs avancées majeures par rapport à la version 1, entre autres le support de plusieurs plates-formes (Windows, Linux et UNIX, entre autres), le support de processus légers UNIX, une nouvelle API et le support IPv6. La fondation Apache (Apache Software Foundation ou ASF) a été créée en 1999 à partir du groupe Apache (Apache Group) à l'origine du serveur en 1995. Depuis, de nombreux autres logiciels Apache, utiles au WWW (World Wide Web) sont développés par Apache à côté du serveur HTTP (dont Apache Hadoop, Apache Lucene, Apache OpenOffice, etc. - liste).

Relation entre client et serveur

Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur
Relation entre client et serveur

Comment le client communique avec le serveur ?

à la suite de la connexion, le processus serveur communique avec le client suivant le protocole prévu par la couche application du modèle OSI. l'action réalisée par le serveur en réponse à la requête client est souvent appelée service.

Quel est la différence entre un client et un serveur ?

Le client représente votre ordinateur, plus précisément votre navigateur. Lorsque vous accédez à une page Web, votre navigateur ouvre une communication avec un serveur. Le serveur répond à la requête. Ces échanges continueront à se faire pendant votre visite du site Web.

Comment se fait l'interaction client

L'interaction est à l'initiative des clients (les applications qui se connectent au Web, dont les navigateurs), qui envoient des requêtes HTTP aux serveurs. Ces derniers renvoient leur résultat : des pages qu'ils ont stockées ou qu'ils créent dynamiquement (souvent en PHP) en fonction de la requête formulée.

Quel est le principe de fonctionnement du modèle client

Dans l'architecture client-serveur, lorsque l'ordinateur client envoie une demande de données au serveur via Internet ou sur un réseau local, le serveur accepte le processus demandé et renvoie les paquets de données demandés au client. Les clients ne partagent aucune de leurs ressources.

Quelle est la particularité du p2p concernant le client et le serveur ?

La particularité des architectures pair-à-pair réside dans le fait que les échanges peuvent se faire directement entre deux ordinateurs connectés au système, sans transiter par un serveur central. Il permet ainsi à tous les ordinateurs de jouer directement le rôle de client et de serveur (voir client-serveur).