Get et post

  • Auteur de la discussion Membre supprimé 1
  • Date de début
M

Membre supprimé 1

Invité
quelle est la différence entre les deux méthodes get et post en php?
 

guillaumech

Expert
As-tu cherché sur la toile ? :(
La méthode GET est une méthode faisant passer les données par l'url (url?don1=AAA&don2=AAA ...). Quant à la méthode POST, les données sont passées par le biais d'un formulaire, elles sont donc non atteigniable. L'avantage de GET est que tu ne passes pas par un formulaire qui est contraignant à mettre en place, mais l'inconvenient est le fait que tes données sont lisibles sur l'url. A toi de choisir.
Regardes quand même sur le net : méthode GET POST ;)

La méthode HTTP GET

La méthode GET (celle qui est utilisée par défaut si rien n'est renseigné) fait circuler les informations du formulaire en clair dans la barre d'adresse en suivant le format ci-après :

Exemple d'url créée à partir de la méthode GET d'un formulaire


Cette adresse signifie que nous allons transmettre à la page scriptphp.php les couples variable / valeur transmis en paramètre. La première variable d'une url est toujours précédée du symbôle ? alors que les autres seront précédées du symbôle &. Les noms des variables correspondent aux attributs name des éléments du formulaire et les valeurs aux attributs value.

Note : contrairement à ce que l'on peut lire fréquemment sur la toile, la limite maximale d'une URL n'est pas de 255 caractères. Il n'existe en réalité aucune limite standard. En effet, la taille maximale d'une URL peut-être configurée à la fois côté serveur ou côté client. Un administrateur de serveur web peut à sa guise augmenter ou diminuer la longueur maximale des URLs. Quant aux navigateurs, eux aussi fixent par défaut une taille maximale. Il est donc recommandé de ne pas abuser de la longueur d'une URL lorsque l'on ne maîtrise pas l'intégralité de son environnement de production (serveur Web et clients).
La méthode HTTP POST

La méthode POST, quant à elle, transmet les informations du formulaire de manière masquée mais non cryptée. Le fait de ne pas afficher les données ne signifie en rien qu'elles sont cryptées. Rappelons nous d'ailleurs que ces informations utilisent le protocole HTTP et non HTTPS qui lui crypte les données.

Quelle est la meilleure méthode à adopter alors ? Et bien la réponse est : « ça dépend ». Le choix de l'une ou de l'autre se fera en fonction du contexte. Si par exemple, nous souhaitons mettre en place un moteur de recherches alors nous pourrons nous contenter de la méthode GET qui transmettra les mots-clés dans l'url. Cela nous permettra aussi de fournir l'url de recherches à d'autres personnes. C'est typiquement le cas des URLs de Google :

Exemple d'une URL du moteur de recherches Google


La méthode POST est préférée lorsqu'il y'a un nombre important de données à transmettre ou bien lorsqu'il faut envoyer des données sensibles comme des mots de passe. Dans certains cas, seule la méthode POST est requise : un upload de fichier par exemple.
sources :
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 134
Messages
6 718 063
Membres
1 586 394
Dernier membre
Manoushk
Partager cette page
Haut