Maison  >  Article  >  développement back-end  >  Quelle est la différence entre les méthodes GET et POST de PHP ?

Quelle est la différence entre les méthodes GET et POST de PHP ?

青灯夜游
青灯夜游original
2021-06-07 11:54:574061parcourir

Différences : 1. GET ne peut envoyer qu'une quantité limitée de données, tandis que POST n'a aucune limite. 2. Les données envoyées par GET ne sont pas protégées et ont une faible sécurité alors que POST a une sécurité élevée ; 3. Les résultats de la requête GET peuvent être ajoutés aux signets, mais pas le POST. 4. GET n'accepte que les caractères ASCII et POST autorise les caractères binaires et ASCII, etc.

Quelle est la différence entre les méthodes GET et POST de PHP ?

L'environnement d'exploitation de ce tutoriel : système Windows7, version PHP7.1, ordinateur DELL G3

La principale différence entre Get et Post est que Get is Data est transmis via Url, tandis que Post ne permet pas aux utilisateurs de voir les informations spécifiques transmises. Cette différence détermine l'utilisation des deux. La méthode Get est principalement utilisée pour la recherche, tandis que la méthode Post est principalement utilisée pour transmettre les informations sur les opérations de l'utilisateur au serveur.

La différence entre les méthodes GET et POST :

1. La quantité de données envoyées

in Dans GET, seule une quantité limitée de données peut être envoyée car les données sont envoyées dans l'URL.

En POST, de grandes quantités de données peuvent être envoyées car les données sont envoyées dans le corps du texte.

2. Sécurité

Les données envoyées par la méthode GET ne sont pas protégées car les données sont exposées dans la barre d'URL, ce qui augmente le risque de vulnérabilités et d'attaques de pirates. .

Les données envoyées par la méthode POST sont sécurisées car les données ne sont pas exposées dans la barre d'URL et plusieurs techniques d'encodage peuvent y être utilisées, ce qui les rend résilientes.

  • GET est demandé via une URL, qui peut être vue directement et transmise en texte clair.

  • POST est demandé via l'en-tête de requête, qui peut être vu par les outils de développement ou par la capture de paquets, et est également en texte clair.

  • Les requêtes GET seront enregistrées dans l'historique du navigateur et pourront également être enregistrées dans le journal Web.

obtenir la soumission, les données demandées suivront l'URL (positionnement uniforme des ressources), faible sécurité

post-soumission, mettre les données soumises dans le package http Dans le package corps, la sécurité est élevée

3. Ajouter aux favoris

Le résultat de la requête GET peut être ajouté aux favoris car il existe sous forme d'URL lors de la requête POST ; Les résultats ne peuvent pas être mis en signet.

4. Encodage

Lors de l'utilisation de la méthode GET dans un formulaire, seuls les caractères ASCII sont acceptés dans le type de données.

Lors de la soumission du formulaire, la méthode POST ne lie pas le type de données du formulaire et autorise les caractères binaires et ASCII.

5. Taille de la variable

La taille de la variable dans la méthode GET est d'environ 2000 caractères.

La méthode POST autorise une taille variable allant jusqu'à 8 Mo.

6. Mise en cache

Les données de la méthode GET peuvent être mises en cache, mais les données de la méthode POST ne peuvent pas être mises en cache.

7. Fonctions principales

La méthode GET est principalement utilisée pour obtenir des informations. La méthode POST est principalement utilisée pour mettre à jour les données.

8. GET est idempotent, POST n'est pas idempotent

L'impuissance signifie que la même méthode de requête a le même effet si elle est exécutée plusieurs fois et exécutée une seule fois.

  • Conformément à la spécification RFC, PUT, DELETE et les méthodes de sécurité sont toutes idempotentes. Bien qu'il s'agisse d'une spécification, rien ne garantit que l'implémentation du serveur soit idempotente.

  • L'introduction de l'idempotent vise principalement à gérer la situation où la même demande est envoyée à plusieurs reprises, comme la perte de la connexion avant que la demande ne réponde. Si la méthode est idempotente, vous pouvez le faire en toute sécurité. renvoyer la demande. C'est également la raison pour laquelle le navigateur avertira l'utilisateur lorsqu'il rencontrera POST lors d'une sauvegarde/actualisation : la sémantique POST n'est pas idempotente et des requêtes répétées peuvent entraîner des conséquences inattendues.

  • Par exemple, dans le scénario de Weibo, la sémantique de GET sera utilisée dans le scénario de "Regardez les 20 dernières publications Weibo sur ma Timeline", tandis que la sémantique de POST sera Il est utilisé dans des scénarios tels que « publier sur Weibo, commenter et aimer ».

Apprentissage recommandé : "

Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn