Dans le cas de sites Web modernes et in­te­rac­tifs, les clients (c’est-à-dire les na­vi­ga­teurs Web) ré­cu­pè­rent non seulement un document HTML sur le serveur, mais lui envoient aussi souvent des in­for­ma­tions comme :

  • Le texte d’un terme de recherche que l’uti­li­sa­teur a saisi dans le champ de recherche
  • Le contenu d’un for­mu­laire rempli
  • La sélection des filtres dans une boutique en ligne
  • Le tri d’une liste

Pour la trans­mis­sion de ces in­for­ma­tions au serveur, le protocole HTTP prévoit dif­fé­rentes méthodes de requête. Les deux plus im­por­tantes sont GET et POST. Bien que les deux abou­tis­sent au même résultat, elles sont fon­da­men­ta­le­ment dif­fé­rentes. Voici dans cet article un aperçu de leurs dif­fé­rences et nos ex­pli­ca­tions pour savoir quand les méthodes GET ou POST sont les plus ap­pro­priées.

Conseil

Si vous souhaitez en savoir plus sur les méthodes de requête en général, lisez notre article sur les requêtes HTTP.

IONOS GPT
Votre assistant IA souverain pour booster votre pro­duc­ti­vité

Demandez, créez et re­cher­chez en toute sécurité et sans limite de dis­cus­sion avec IONOS GPT : l'al­ter­na­tive sou­ve­raine et abordable à ChatGPT et autres as­sis­tants con­ver­sa­tion­nels.

GET

Avec la méthode GET, les données à envoyer au serveur sont écrites di­rec­te­ment dans l’URL. Dans la fenêtre de votre na­vi­ga­teur, cela ressemble à ceci :

www.example.com/register.php?firstname=peter&name=miller&age=55&gender=male

Toutes les in­for­ma­tions saisies par l’uti­li­sa­teur (les pa­ra­mètres dits URL) sont trans­mises aussi librement que l’URL elle-même. Cela présente des avantages et des in­con­vé­nients.

Avantages

Les pa­ra­mètres de l’URL peuvent être en­re­gis­trés avec l’adresse du site Web. Cela permet de mettre une requête de recherche en marque-page et de la récupérer plus tard. Si né­ces­saire, la page peut également être récupérée via l’his­to­rique de na­vi­ga­tion.

Cela est utile pour vi­sua­li­ser par exemple ré­gu­liè­re­ment une section de carte Google Maps ou pour en­re­gis­trer des pages Web contenant certains pa­ra­mètres de filtrage et de tri.

In­con­vé­nients

Le principal in­con­vé­nient de la méthode GET est l’absence de pro­tec­tion des données. Les pa­ra­mètres URL envoyés sont non seulement visibles par tous dans la barre d’adresse du na­vi­ga­teur, mais sont également stockés sans chif­fre­ment dans l’his­to­rique du na­vi­ga­teur, dans le cache et dans le fichier log du serveur.

Un deuxième in­con­vé­nient est sa capacité limitée : suivant le serveur Web et le na­vi­ga­teur, l’URL ne peut pas contenir plus de 2 000 ca­rac­tères environ. De plus, les pa­ra­mètres des URL ne peuvent contenir que des ca­rac­tères ASCII (lettres, chiffres, ca­rac­tères spéciaux, etc.), et non des données binaires telles que des fichiers audio ou des images.

POST

La méthode POST écrit les pa­ra­mètres URL dans la requête HTTP pour le serveur. Les pa­ra­mètres ne sont donc pas visibles pour les uti­li­sa­teurs et la portée des requêtes POST est illimitée.

Avantages

Lorsqu’il s’agit de trans­mettre des données sensibles au serveur, par exemple un for­mu­laire d’ins­crip­tion avec nom d’uti­li­sa­teur et mot de passe, la méthode POST permet de garder la con­fi­den­tia­lité né­ces­saire. Les données ne sont pas mises en cache et n’ap­pa­rais­sent pas dans l’his­to­rique de na­vi­ga­tion. La flexi­bi­lité est également de mise avec POST : non seulement des textes courts, mais aussi des données de toute taille et de tout type peuvent être transmis, comme des photos ou des vidéos.

In­con­vé­nients

Si une page Web est mise à jour avec un for­mu­laire dans le na­vi­ga­teur (par exemple, en utilisant le bouton « Précédent » / « Retour »), les données du for­mu­laire doivent être de nouveau soumises. Vous avez cer­tai­ne­ment déjà vu des aver­tis­se­ments qui s’y réfèrent. Il existe un risque que les données soient envoyées plusieurs fois par inad­ver­tance, ce qui peut dé­clen­cher des commandes en double par exemple. Toutefois, les pro­grammes de boutiques en ligne les plus récents peuvent empêcher ces problèmes.

De même, les données trans­mises par la méthode POST ne peuvent pas être sau­ve­gar­dées sous forme de marque-page avec l’URL.

Com­pa­rai­son entre GET et POST

  GET POST
Vi­si­bi­lité Visible pour l’uti­li­sa­teur dans le champ d’adresse Invisible pour l’uti­li­sa­teur
Marque-page et his­to­rique de na­vi­ga­tion Les pa­ra­mètres de l’URL sont stockés en même temps que l’URL. L’URL est en­re­gis­trée sans pa­ra­mètres URL.
Cache et fichier log du serveur Les pa­ra­mètres de l’URL sont stockés sans chif­fre­ment Les pa­ra­mètres de l’URL ne sont pas en­re­gis­trés au­to­ma­ti­que­ment.
Com­por­te­ment lors de l’ac­tua­li­sa­tion du na­vi­ga­teur / Bouton « précédent » Les pa­ra­mètres de l’URL ne sont pas envoyés à nouveau. Le na­vi­ga­teur avertit que les données du for­mu­laire doivent être renvoyées.
Type de données Ca­rac­tères ASCII uni­que­ment. Ca­rac­tères ASCII mais également données binaires.
Longueur des données Limitée - longueur maximale de l’URL à 2 048 ca­rac­tères. Illimitée.

Quand utiliser quelle méthode ?

POST est presque toujours favorisé lorsque l’uti­li­sa­teur doit soumettre des données ou des fichiers au serveur, par exemple pour remplir des for­mu­laires ou té­lé­char­ger des photos.

GET est par­ti­cu­liè­re­ment bien adapté pour per­son­na­li­ser les sites Web : les re­cherches des uti­li­sa­teurs, les pa­ra­mètres de filtrage et le tri des listes peuvent être mis en marque-page avec l’URL, de sorte qu’à la prochaine visite du site, l’uti­li­sa­teur re­trou­vera la page telle qu’il l’a laissée.

Une simple « règle de base » pour finir :

  • GET pour les pa­ra­mètres d’un site Web (filtres, tri, saisies de recherche, etc.).
  • POST pour la trans­mis­sion des in­for­ma­tions et des données de l’uti­li­sa­teur.
Aller au menu principal