Différence entre GET et POST
Les requêtes HTTP POST ajoutent des données supplémentaires dans le corps du message d’un client (ou navigateur) envoyé à un serveur. En revanche, les requêtes GET incluent toutes les données requises dans l’URL. Les formulaires HTML peuvent utiliser l’une ou l’autre méthode en spécifiant method = "POST"
ou
method = "GET"
(valeur par défaut) dans l’élément <form>
. La méthode spécifiée détermine le mode de soumission des données de formulaire au serveur. Lorsque la méthode GET est utilisée, toutes les données de formulaire sont codées dans l’URL et ajoutées à l’URL en tant que paramètres. Avec POST, les données de formulaire apparaissent dans le corps du message de la requête HTTP.
Table de comparaison
GET | POST |
---|---|
Dans le cas d’une requête GET, seule une quantité limitée de données peut être envoyée car les données sont envoyées dans l’en-tête. | En cas de requête POST, une grande quantité de données peut être envoyée car les données sont envoyées dans le corps. |
La requête GET n’est pas sécurisée car les données sont exposées dans la barre d’URL. | La requête POST est sécurisée car les données ne sont pas exposées dans la barre d’URL. |
La requête GET est plus efficace et utilisé plus que POST. | La requête POST est moins efficace et utilisée moins que GET. |
Les paramètres restent dans l’historique du navigateur car ils font partie de l’URL | Les paramètres ne sont pas enregistrés dans l’historique du navigateur. |
Les requêtes GET sont ré-exécutées mais ne peuvent pas être soumises au serveur si le code HTML est stocké dans la mémoire cache du navigateur. | Le navigateur prévient généralement l’utilisateur que les données devront être soumises à nouveau |
Seuls les caractères ASCII sont autorisés. | Pas de restrictions. Les données binaires sont également autorisées. |
GET est moins sécurisé que POST car les données envoyées font partie de l’URL. Donc, il est enregistré dans l’historique du navigateur et les journaux du serveur en texte brut. | POST est un peu plus sûr que GET car les paramètres ne sont pas stockés dans l’historique du navigateur ou dans les journaux du serveur Web. |
La méthode GET ne doit pas être utilisée lors de l’envoi de mots de passe ou d’autres informations sensibles. | Méthode POST utilisée lors de l’envoi de mots de passe ou d’autres informations sensibles. |
La méthode GET est visible par tout le monde (elle sera affichée dans la barre d’adresse du navigateur) et limite le nombre d’informations à envoyer. | Les variables de méthode POST ne sont pas visibles dans l’URL. |
Peut être mis en cache | Ne peut être mis en cache |
Définition du méthode GET
Les paramètres sont envoyées dans l’URL d’une requête GET:
GET/register.php?name=alex&age=22
Comme nous le savons, les données sont envoyées dans l’en-tête de la requête en cas de requête GET. C’est le type de requête par défaut.
Définition du méthode POST
Les paramètres sont envoyées dans le corps du message HTTP pour une requête POST:
POST/register.php HTTP/1.1 Hôte: www.waytolearnx.com name=alex&age=22
Comme nous le savons, en cas de requête POST, les données d’origine sont envoyées dans le corps du message.
Conclusion
Les deux méthodes GET et POST sont utilisées pour transférer des données du client au serveur avec le protocole HTTP. La différence clé entre les méthodes POST et GET est que GET transporte le paramètre dans la chaîne d’URL, tandis que POST transporte le paramètre dans le corps du message, ce qui le rend plus sûr le transfère des données du client au serveur avec le protocole http.
Merci beaucoup pour ton article ton tableau ma bien aidée.