GET
et POST
sont deux différents types de requêtes HTTP.
Selon Wikipedia:
OBTENEZ les demandes d'une représentation de la ressource spécifiée. Notez que se ne doit pas être utilisé pour les opérations qui provoquent des effets secondaires, tels que l'utiliser pour prendre des mesures dans des applications web. Une raison à cela est que GET peuvent être utilisés de façon arbitraire par des robots ou des robots, qui ne devrait pas avoir besoin de considérer les effets secondaires qu'une requête doit provoquer.
et
POST soumet les données à traiter (par exemple, à partir d'un formulaire HTML) pour la ressource. Les données sont incluses dans le corps de la demande. Cela peut entraîner la création d'une nouvelle ressource ou les mises à jour des ressources existantes ou les deux.
Donc, essentiellement, GET
est utilisé pour récupérer des données à distance, et POST
est utilisé pour insérer/mettre à jour des données à distance.
Spécification HTTP/1.1 (RFC 2616) de l'article 9 de la Méthode Définitions contient plus d'informations sur l' GET
et POST
ainsi que d'autres méthodes HTTP, si vous êtes intéressé.
En plus d'expliquer les usages de chaque méthode, la spécification fournit également au moins une raison pratique pour laquelle GET
ne doit être utilisé pour récupérer les données:
Les auteurs de services qui utilisent le protocole HTTP ne DEVRAIENT PAS utiliser la fonction de formulaire pour la soumission de données sensibles, parce que cela va provoquer ces données codé dans l'URI de Demande. De nombreux serveurs existants, des mandataires et agents d'utilisateur journal de l'URI de la demande dans un endroit où il pourrait être visible à des tiers. Les serveurs peuvent utiliser des POST-formulaire de soumission de la place
Enfin, une considération importante lors de l'utilisation d' GET
pour les requêtes AJAX, c'est que certains navigateurs (IE, en particulier - en cache les résultats de l' GET
la demande. Donc, si vous, par exemple, un sondage en utilisant le même GET
demande, vous obtiendrez toujours le même résultat, même si les données que vous demandez est en cours de mise à jour côté serveur. Une manière de résoudre ce problème est de faire de l'URL unique pour chaque requête en ajoutant un timestamp.