Maison >développement back-end >Problème PHP >Quelle est la différence entre post et get en php ?
Quelle est la différence entre poster et get en php ?
connaissances de base de php La différence entre les méthodes de transmission post et get
1.post est plus sécurisé (il ne sera pas utilisé dans le cadre de l'url, non sera mise en cache, enregistrée dans les journaux du serveur et les enregistrements de navigation du navigateur)
2. La quantité de données envoyées par courrier est plus importante (get a une limite de longueur d'URL)
3. . Post peut envoyer plus de types de données multiples (get ne peut envoyer que des caractères ASCII)
4.post consiste à transmettre des données au serveur, get consiste à obtenir des données du serveur
5. get mettra en cache les données, et la publication ne le fera pas
Le processus de demande de publication :
1 Le navigateur demande une connexion TCP (première poignée de main)
<.>2. Le serveur accepte. Établissez une connexion TCP (deuxième poignée de main) 3. Le navigateur confirme et envoie l'en-tête de la demande de publication (la troisième poignée de main, ce message est relativement petit, donc http enverra les premières données. à ce moment) 4. Le serveur renvoie une réponse 100 continue 5 Le navigateur commence à envoyer des données 6. Le serveur renvoie une réponse 200 ok
get Processus de demande
1. Le navigateur demande une connexion TCP (première poignée de main) 2 Le serveur accepte une connexion TCP (deuxième poignée de main) . 🎜>3. Le navigateur confirme et envoie l'en-tête et les données de la requête get (à la troisième poignée de main, ce message est relativement petit, donc http enverra les premières données à ce moment-là)
4. Le serveur renvoie 200 réponses ok.
get exprime une opération pure idempotente, en lecture seule, c'est-à-dire qu'elle ne doit pas produire d'autres effets secondaires (tels que l'écriture dans la base de données) en plus de renvoyer des résultats, donc la plupart des requêtes get (généralement plus de 90 %) sont directement mis en cache par CDN, ce qui peut réduire considérablement la charge sur le serveur Web.
La sémantique exprimée par post est non idempotente et a des effets secondaires, elle doit donc être traitée par le serveur web.
Remplacer toutes les requêtes get par post signifie que tous les CDN sur le réseau fédérateur sont supprimés et que le nombre de requêtes que le serveur Web doit traiter augmentera des centaines ou des milliers de fois. Ce n'est évidemment pas une approche intelligente !
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!