Revenir
Revenir

Le modèle client/serveur sur le Web

Supposons que vous souhaitez consulter un site web particulier. Lorsque vous saisissez l'adresse dans...

Sommaire

Comment se passe l'affichage d'un page web ?Communication client/serveur lors de la consultation d'une page web - SchémaComprendre les bases du protocole HTTPLes étapes des requêtes et des réponses HTTPQuelles différences entre les protocoles HTTP et HTTPS ?

Comment se passe l'affichage d'un page web ?

Supposons que vous souhaitez consulter un site web particulier. Lorsque vous saisissez l'adresse dans le champ de recherche de votre navigateur et que vous appuyez sur "Entrée", votre navigateur devient alors un client qui envoie une requête http au serveur qui héberge le site web ciblé.
Un serveur est un ordinateur distant qui stocke les fichiers et les ressources nécessaires pour afficher les pages d'un site web. Il est en ligne 24h/24, 7j/7, et prêt à répondre aux demandes des clients.
Les demandes des clients incluent des informations telles que l'adresse IP du site web ciblé, le type de contenu demandé, les cookies (le cas échéant) et d'autres détails pertinents. Le serveur reçoit cette demande, traite les informations et génère une réponse.
Après avoir traité la requête, le serveur renvoie une réponse au client. Cette réponse contient généralement le code HTML, CSS, JavaScript, les images et d'autres ressources nécessaires pour afficher le site web demandé. Le serveur utilise le protocole HTTP (Hypertext Transfer Protocol) ou HTTPS (Hypertext Transfer Protocol Secure)  pour envoyer la réponse au client. 
Le client, c'est-à-dire le navigateur, reçoit la réponse du serveur. Il interprète les fichiers HTML, exécute des scripts JavaScript, applique des styles CSS et affiche enfin le site web à l'écran.
Il est important de comprendre que cette interaction client-serveur se produit en arrière-plan en temps réel (généralement en quelques millisecondes), permettant une expérience de navigation fluide et immédiate.
En résumé, le concept de client/serveur est un modèle de communication dans lequel un client (généralement un navigateur web) envoie des requêtes à un serveur distant pour récupérer une page web souhaitée. Le serveur répond à ces requêtes en retournant les fichiers et ressources nécessaires à l'affichage du site Internet demandé par le client. Ce modèle nous permet d'accéder aux pages des sites web et de les parcourir sur Internet. 

Communication client/serveur lors de la consultation d'une page web - Schéma

Comprendre les bases du protocole HTTP

Le protocole HTTP "Hypertext Transfer Protocol" ou protocole de transfert hypertexte, est un protocole de communication utilisé pour le transfert de données sur le Web. Il définit les règles et les formats d'échange d'informations entre un client (navigateur web) et un serveur (serveur web).
Le fonctionnement du protocole HTTP repose sur une architecture client-serveur. Lorsqu'un utilisateur saisit une URL (Uniform Resource Locator) dans le champ de recherche d'un navigateur web, celui-ci envoie une requête HTTP au serveur correspondant à cette URL. La requête est généralement composée d'une méthode (comme GET, POST, PUT, DELETE) et d'autres informations, telles que les en-têtes et les paramètres.
Une fois que le serveur reçoit la requête, il la traite et renvoie une réponse HTTP au client. La réponse contient un code d'état qui indique le succès ou l'échec de la requête, ainsi que les données demandées (par exemple, une page web au format HTML). La réponse peut également inclure des en-têtes supplémentaires fournissant des informations sur le contenu ou le serveur lui-même.
Le protocole HTTP est un protocole sans état, ce qui signifie qu'il ne conserve pas d'informations sur les demandes précédentes du client. Chaque requête est traitée indépendamment, sans connaissance des requêtes précédentes.
Le protocole HTTP est généralement non sécurisé, car les données sont transmises en texte brut, ce qui rend les informations sensibles vulnérables aux interceptions. Néanmoins, il existe une version sécurisée appelée HTTPS (HTTP sécurisé).

Les étapes des requêtes et des réponses HTTP

1. Établissement de la connexion
Lorsqu'un client souhaite accéder à un site web, il envoie une requête au serveur. Pour les requêtes HTTPS, une couche de sécurité supplémentaire est ajoutée à l'aide d'un protocole appelé SSL/TLS (Secure Sockets Layer/Transport Layer Security). Cette couche de sécurité crypte les données échangées entre le client et le serveur pour protéger la confidentialité des informations.
2. Méthodes de requête  
Une fois la connexion établie, le client utilise une méthode HTTP spécifique pour envoyer une requête au serveur. Les méthodes les plus couramment utilisées sont :
  • GET: Demande au serveur de renvoyer une ressource spécifique (par exemple, une page HTML, une image) au client.
  • POST: Envoie des données au serveur pour être traitées, souvent utilisé pour soumettre des formulaires en ligne ou effectuer des transactions.
  • PUT: Envoie des données au serveur pour être stockées ou mises à jour.
  • DELETE: Demande au serveur de supprimer une ressource spécifique.
Il existe également d'autres méthodes telles que HEAD, OPTIONS, PATCH, etc., chacune ayant sa propre utilité.
3. En-têtes de requête
Les requêtes HTTP/HTTPS contiennent également des en-têtes qui fournissent des informations supplémentaires au serveur. Par exemple, les en-têtes peuvent indiquer le type de contenu qu'un client a accepté, la langue préférée, les informations sur le navigateur, les cookies, etc. 
4. Corps de la requête
Pour certaines méthodes, telles que POST et PUT, les données sont incluses dans le corps de la requête. Le corps peut contenir des informations structurées telles que des formulaires HTML ou des données JSON qui sont traitées par le serveur. 
5. Traitement de la requête par le serveur
Le serveur reçoit une demande d'un client, analyse les informations de demande, prend une action appropriée sur la base du procédé de demande et génère une réponse appropriée.
6. Réponse du serveur  
Le serveur renvoie une réponse au client contenant un code d'état HTTP indiquant le résultat de la requête (par exemple, 200 OK si la requête a abouti, 404 Not Found si la ressource n'a pas été trouvée, etc.). La réponse peut également contenir des en-têtes de réponse contenant des informations complémentaires et un corps de réponse contenant les données demandées (page HTML, image, etc.). 

Quelles différences entre les protocoles HTTP et HTTPS ?

Le protocole HTTPS est une surcouche du protocole HTTP qui permet de sécuriser une connexion HTTP par chiffrement des données et authentification du serveur à l'aide d'un certificat. Il est devenu le standard des échanges de communication entre un navigateur et un serveur web. Dans le navigateur, il se manifeste par un cadenas qui apparaît devant l'URL de la page web visitée.