Aller au contenu

Client - Serveur

L'architecture client-serveur est un modèle fondamental en informatique qui divise les systèmes en deux parties principales : les clients et les serveurs.

client-server.png

Source image

Clients

  • Les clients sont des dispositifs ou des applications qui demandent des services ou des ressources à un serveur.
  • Ils peuvent être des ordinateurs personnels, des smartphones, des tablettes, ou des logiciels spécifiques.
  • Les clients envoient des requêtes au serveur pour obtenir des informations ou effectuer des actions.

Serveurs

  • Les serveurs sont des systèmes informatiques conçus pour fournir des services, des données ou des ressources aux clients.
  • Ils sont configurés pour écouter et répondre aux requêtes des clients.
  • Les serveurs peuvent être des serveurs web, de messagerie, de bases de données, etc.
  • Ils sont généralement plus puissants et robustes que les clients, capables de gérer de nombreuses connexions simultanées.

Communication

  • L'interaction entre clients et serveurs se fait via des protocoles de communication.
  • Les protocoles courants incluent HTTP pour le web, SMTP/IMAP/POP3 pour les courriels, et SQL pour les bases de données.
  • Les clients envoient des requêtes que les serveurs traitent, renvoyant ensuite des réponses appropriées.

Distribution des responsabilités

  • L'architecture client-serveur répartit les responsabilités entre les deux parties.
  • Les clients sont principalement responsables de l'interface utilisateur et de la présentation des données.
  • Les serveurs gèrent la logique métier, le stockage des données, et les opérations de traitement.

Avantages

L'architecture client-serveur offre plusieurs avantages :

  • Scalabilité : possibilité d'ajouter des clients ou des serveurs selon les besoins.
  • Centralisation des données : facilite la gestion et la sauvegarde des informations.
  • Facilité de maintenance : les mises à jour sur le serveur sont centralisées.
  • Sécurité : le serveur contrôle l'accès aux ressources.

Inconvénients

Parmi les inconvénients :

  • Dépendance au serveur : les clients ne fonctionnent généralement pas sans le serveur.
  • Latence : les temps de réponse dépendent de la charge du serveur et de la qualité de la connexion.
  • Complexité : la gestion des interactions client-serveur peut être complexe.

Serveur web

Un serveur web est un logiciel ou un système informatique conçu pour gérer les demandes de navigation web provenant des clients, tels que les navigateurs web.

CERN httpd

CERN httpd est le premier serveur HTTP, créé par Tim Berners-Lee en 1990 pour répondre aux besoins de la communauté scientifique du CERN en matière de partage d'informations sur Internet. Il était basé sur les premières versions du protocole HTTP et du langage HTML.

Page officielle de CERN httpd

Dans un réseau d'entreprise, un serveur web se trouve généralement dans la DMZ (zone démilitarisée), afin de sécuriser les échanges entre les clients externes et les ressources internes.

dmz.png

Source image

Note

Une DMZ (zone démilitarisée) est une zone de réseau informatique intermédiaire et partiellement sécurisée, située entre un réseau interne sécurisé (généralement le réseau local de l'entreprise) et un réseau externe non sécurisé (comme Internet).

La DMZ est conçue pour héberger des serveurs, des services ou des dispositifs nécessitant une certaine exposition à Internet tout en maintenant une protection contre les menaces potentielles.

Exemples de serveurs placés dans une DMZ :

  • Serveur web
  • Serveur de messagerie
  • Serveur de fichiers
  • Serveur DNS

Parts de marché

hostadvice-marketshare-server.png

Source image

w3techs-marketshare-server.png

Source image

netcraft-marketshare-server.png

Source image

Client web

Un client web, dans le contexte de l'Internet, est un logiciel ou une application permettant aux utilisateurs d'accéder et d'interagir avec des ressources en ligne, telles que des sites web, des fichiers, des services, et d'autres contenus disponibles sur Internet.

Browser (navigateur web)

L'histoire des navigateurs web est marquée par des innovations majeures qui ont façonné l'Internet tel que nous le connaissons aujourd'hui.

Années 1990 - Les débuts

  • En 1990, Tim Berners-Lee crée le premier navigateur web, appelé WorldWideWeb (également connu sous le nom de Nexus), qui fonctionnait sur le système NeXT.
  • En 1993, le navigateur Mosaic, développé à l'Université de l'Illinois, est publié. Il est considéré comme le premier navigateur web grand public.
  • En 1994, Netscape Communications Corporation lance Netscape Navigator, qui devient rapidement populaire grâce à son interface conviviale et à ses fonctionnalités avancées.

La Guerre des navigateurs

  • Au milieu des années 1990, la "Guerre des navigateurs" éclate entre Netscape Navigator et Microsoft Internet Explorer (IE).
  • Microsoft intègre Internet Explorer dans son système d'exploitation Windows, lui donnant ainsi un avantage concurrentiel.

Années 2000 - L'ère d'Internet Explorer

  • Internet Explorer domine le marché des navigateurs pendant la majeure partie des années 2000, atteignant une part de marché de plus de 90 %.

2004 - L'émergence de Firefox

  • En 2004, Mozilla Firefox est publié, offrant une alternative open source à Internet Explorer.
  • Firefox gagne rapidement en popularité grâce à sa rapidité, sa sécurité et sa personnalisation.

Années 2000 - L'ère des navigateurs multiples

  • D'autres navigateurs commencent à émerger, notamment Opera, Safari, et Google Chrome.

2008 - L'arrivée de Google Chrome

  • Google Chrome est lancé en 2008.
  • Son architecture rapide et son interface minimaliste séduisent rapidement les utilisateurs.
  • Chrome devient l'un des navigateurs les plus populaires.

2010 - La fin de la domination d'IE

  • La part de marché d'Internet Explorer commence à chuter au profit de Chrome, Firefox, et d'autres navigateurs.
  • Microsoft décide d'abandonner Internet Explorer au profit de Microsoft Edge.

L'évolution des standards web

  • Les navigateurs modernes convergent vers la prise en charge des standards web tels que HTML5, CSS3, et JavaScript, améliorant ainsi la compatibilité des sites web.

Naviguer sur mobile

  • L'utilisation des navigateurs sur les appareils mobiles devient de plus en plus courante, avec le développement de navigateurs mobiles comme Safari pour iOS et Chrome pour Android.

Tendances actuelles

StatCounter-browser-ww-monthly-200901-202409.png

Source image

Composants

Un navigateur web est un logiciel complexe composé de plusieurs composants qui fonctionnent ensemble pour permettre aux utilisateurs d'accéder et de naviguer sur le web. Voici les principaux composants d'un navigateur typique :

  • Interface Utilisateur : La partie visible avec laquelle les utilisateurs interagissent. Elle comprend la barre d'adresse (pour entrer les URL), les boutons de navigation (retour, avance, actualiser), les onglets, les favoris, les barres d'outils, et d'autres éléments de contrôle.

  • Moteur de Rendu (Engine) : Le cœur du navigateur. Il interprète le code source des pages web (HTML, CSS, JavaScript) et affiche le contenu de manière compréhensible pour l'utilisateur.

  • Moteur JavaScript : Composant intégré dans les navigateurs modernes pour exécuter le code JavaScript présent sur les pages web.

  • Moteur de Rendu CSS : Il gère l'affichage des styles et la mise en page des pages web en interprétant les feuilles de style en cascade (CSS), garantissant que les éléments HTML sont affichés correctement à l'écran.

Moteurs de rendu HTML

Les principaux moteurs actuels :

  • WebKit d'Apple, dérivé de KHTML : utilisé par Safari.
  • Blink de Google, dérivé de WebKit : utilisé par Chrome, Chromium, Edge, Opera, et Brave.
  • Gecko de Mozilla : utilisé par Firefox.

Les anciens moteurs obsolètes :

  • EdgeHTML de Microsoft, dérivé de Trident : utilisé par les anciennes versions de Edge.
  • Trident de Microsoft : utilisé par Internet Explorer.
  • Presto de Opera Software : utilisé par les anciennes versions d'Opera.

Bots

Les bots sont des programmes informatiques conçus pour effectuer des tâches automatisées sur Internet. Ils sont également considérés comme des clients web car ils accèdent aux ressources en ligne. Cependant, contrairement aux clients web traditionnels utilisés par des personnes, les bots fonctionnent de manière automatisée sans intervention humaine directe.

Voici quelques exemples de bots :

  • Moteurs de Recherche : Les moteurs comme Google, Bing et Yahoo utilisent des bots d'indexation pour explorer le web, analyser le contenu des sites et indexer les pages pour les résultats de recherche.
  • Chatbots : Programmes utilisant l'intelligence artificielle pour interagir avec les utilisateurs via des conversations textuelles ou vocales, souvent utilisés pour le service client automatisé.
  • Web Scrapers : Bots qui extraient des données de sites web, collectant des informations comme des prix, des avis ou des actualités à des fins d'analyse.
  • Bots de Réseaux Sociaux : Automatisent des tâches sur les réseaux sociaux, comme la publication de contenu, la réponse aux messages, ou la collecte de données.
  • Bots de Trading : Automatisent l'achat et la vente de produits financiers sur les marchés selon des algorithmes prédéfinis.
  • Bots de Jeux : Utilisés dans les jeux en ligne pour automatiser des actions répétitives ou effectuer des actions non autorisées.
  • Bots de Surveillance : Surveillent des sites web ou forums en ligne, signalant des changements ou des tendances.
  • Bots Malveillants : Comprennent les bots d'exploration de vulnérabilités ou de spam, utilisés pour des activités illégales ou nuisibles en ligne.