Interactions client-serveur
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 du langage HTML, notre formulaire comporte les éléments suivants :
- le premier élément de type : champ permettant la saisie d’information (indispensable) ;
- le deuxième élément de type définit un bouton permettant de déclencher l’envoi du formulaire au serveur (indispensable) ;
- le troisième élément de type 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 .
- 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 de la balise : 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 .
Les types de données transmissibles par formulaire
- L’attribut type de la balise : permet de spécifier le type de données traitées avec par exemple le type ou le type ou encore le type .
- La balise : 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 : permet la saisie d’un texte long avec d’éventuels retours à la ligne, non gérés par le type "text" de la balise .