Interactions client-serveur

information-icon

Les premières épreuves du bac de français édition 2024 sont pour bientôt ! Consulte les dates du bac de français, notre programme de révision accompagné de toutes nos fiches de révisions pour te préparer au mieux à ton examen 💪

Rappel sur les protocoles HTTP et HTTPS

  • Le web est construit sur le protocole HTTP et sa version sécurisée HTTPS.
  • HTTP et HTTPS sont des protocoles de type client-serveur, articulés autour de requêtes formulées par le client, et de réponses renvoyées par le serveur.

Les méthodes du protocole HTTP

  • Le protocole HTTP s’appuie sur une dizaine de méthodes pour indiquer les actions souhaitées, mais ici nous nous appuieront sur les plus courantes : GET et POST.
  • Ces ressources peuvent être des pages web, des images ou d’autres types de documents. Les serveurs traitent les requêtes d’actions envoyées par les clients et émettent en retour des réponses.
  • Les requêtes envoyées contiennent un certain nombre d’informations techniques et de paramètres fournis par les clients.

La méthode GET

  • Aucun effet sur la ressource requise, elle peut donc être répétée et fournira le même résultat.
  • Les données transmises apparaissent dans la barre d’adresse du navigateur.
  • Limitée dans la quantité et le type de données qu’elle peut transmettre.
  • Les pages obtenues avec la méthode GET peuvent être mises en cache et enregistrées dans les marque-pages ou favoris.
  • Les requêtes GET ne doivent jamais être utilisées pour modifier des données sur le serveur.
  • La règle pour choisir entre GET :
  • si la requête ne transmet aucune information sensible, qu’elle n’effectue aucune modification côté serveur et qu’elle fournit un résultat identique si elle est répétée, on utilise GET.

La méthode POST

  • Conduit généralement à des modifications côté serveur.
  • Elle ne pourra pas être mise en cache.
  • Seule l’URL de destination est affichée.
  • Peut transmettre plusieurs mégaoctets de données (caractères ou données binaires).
  • La règle pour choisir entre GET :
  • si la requête transmet des informations sensibles ou qu’elle peut conduire à modifier l’état du serveur d’une manière ou d’une autre, on utilise POST.
  • La méthode POST est donc requise pour toute modification de données côté serveur : ajout, modification ou suppression de données.

L’envoi de données dans le cadre d’un formulaire

Principe de fonctionnement d’un formulaire

  • Un formulaire permet à un client (le navigateur Internet) de collecter et de transmettre des données à un serveur (ici le serveur web).
  • Pour pouvoir envoyer ces données, le navigateur Internet a besoin de connaître deux informations qui lui seront fournies par le code HTML du formulaire : la destination et la méthode d’envoi de ces données.

Création du formulaire en HTML avec la méthode GET

  • Composé à partir de l’élément FORM du langage HTML, notre formulaire comporte les éléments suivants :
  • le premier élément INPUT de type text : champ permettant la saisie d’information (indispensable) ;
  • le deuxième élément INPUT de type submit définit un bouton permettant de déclencher l’envoi du formulaire au serveur (indispensable) ;
  • le troisième élément de type LABEL est optionnel : il définit une légende associée au champ de saisie de notre information pour guider l’utilisateur.
  • La méthode et la destination de notre formulaire sont précisées via les attributs correspondants de l’élément FORM.
  • Nous insérons le code de notre formulaire dans un fichier html, que nous plaçons sur un serveur web local ou distant et nous y accédons avec un navigateur Internet à partir de son URL pour obtenir son rendu.

Soumission de notre formulaire avec la méthode POST

  • Pour soumettre notre formulaire avec la méthode POST, il nous faut seulement éditer dans notre code source HTML l’attribut method de la balise FORM : nous remplaçons GET par POST et nous enregistrons les changements.
  • Cette fois, lorsque nous renseignons à nouveau une valeur dans le champ code postal de notre page page.html et que nous cliquons sur le bouton « envoyer », nous obtenons en retour du serveur l’affichage du tableau associatif $_POST.

Les types de données transmissibles par formulaire

  • L’attribut type de la balise INPUT : permet de spécifier le type de données traitées avec par exemple le type text ou le type submit ou encore le type reset.
  • La balise SELECT : permet de construire une liste déroulante avec un certain nombre de choix parmi lesquels l’utilisateur pourra sélectionner la valeur souhaitée.
  • La balise TEXTAREA : permet la saisie d’un texte long avec d’éventuels retours à la ligne, non gérés par le type "text" de la balise INPUT.