Maison >développement back-end >Problème PHP >La différence entre get et post en php
La différence entre get et post en php
La limite de longueur de GET et POST
GET
1.GET soumet les données via une URL, de sorte que la quantité de données pouvant être soumises par GET est directement liée à la longueur maximale que l'URL peut atteindre.
2. En fait, le protocole HTTP n'a aucune limite sur la longueur des URL ; la plupart des restrictions sur la longueur des URL sont des paramètres de configuration du navigateur ou du serveur
POST
Idem . Le protocole HTTP n'impose aucune restriction sur le POST, qui est généralement limitée par la configuration du serveur ou la taille de la mémoire.
2. Sous PHP, vous pouvez modifier la taille postmax de php.conf pour définir la taille du POST.
Le problème de longueur du contenu de l'en-tête de la requête
Si quelqu'un falsifie par malveillance un en-tête avec une grande longueur de contenu, mais envoie en réalité une requête avec un petit contenu- length, comme ceci Le serveur attendra jusqu'à ce que son délai soit écoulé. Bien entendu, le serveur peut éviter ce problème grâce aux paramètres
La sécurité de GET et POST
1 GET est demandée via l'URL, qui peut être vue directement et transmise en texte brut.
2. Le POST est demandé via l'en-tête de la requête, qui peut être vu par les outils de développement ou par la capture de paquets, et est également en texte clair.
3. La requête GET sera enregistrée dans l'historique du navigateur et pourra également être enregistrée dans le journal Web.
L'état de GET et POST sur le serveur
Selon la conception de http, lorsque tout le monde voit get, ils s'attendent à ce que cette requête ne modifie pas le serveur. Voir le message, on pense que cela a modifié le serveur.
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.
1. Selon les spécifications RFC, PUT, DELETE et les méthodes de sécurité sont idempotentes. Bien qu'il s'agisse d'une spécification, rien ne garantit que l'implémentation du serveur soit idempotente.
2. L'introduction de l'idempotence 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 renvoyer la demande en toute sécurité. 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.
3. Par exemple, dans le scénario Weibo, la sémantique de GET sera utilisée dans le scénario "Regardez les 20 dernières publications Weibo sur ma timeline", tandis que la sémantique de POST sera utilisée dans le scénario "Regardez les 20 dernières publications Weibo sur ma timeline". scénario de " Dans un scénario comme publier sur Weibo, commenter et aimer.
Tutoriel recommandé : "Tutoriel 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!