Rappel sur les protocoles HTTP et HTTPS
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
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.