Maison >développement back-end >Problème PHP >La différence entre les deux paramètres transmis par get post

La différence entre les deux paramètres transmis par get post

hzc
hzcoriginal
2020-06-12 16:56:277745parcourir

La différence entre les deux paramètres transmis par get post

get post La différence entre les deux paramètres :

GET et POST sont les deux méthodes de base des requêtes HTTP. Parlons de leurs différences. . , Quiconque a été exposé au développement WEB peut vous dire quelque chose.

La différence la plus intuitive est que GET inclut des paramètres dans l'URL et que POST transmet les paramètres via le corps de la requête.

Vous avez peut-être écrit vous-même d'innombrables requêtes GET et POST, ou lu de nombreux sites Web faisant autorité résumant leurs différences. Vous savez exactement quand utiliser laquelle.

Quand on vous pose cette question lors d'un entretien, votre cœur est rempli de confiance et de joie.


La différence entre les deux paramètres transmis par get post

Vous avez facilement donné une "réponse standard" :

GET est inoffensif lorsque le navigateur revient en arrière et POST soumettra à nouveau la demande.

L'adresse URL générée par GET peut être mise en signet, mais POST ne le peut pas.

Les requêtes GET seront activement mises en cache par le navigateur, mais POST ne le sera pas, sauf si elles sont définies manuellement.

Les requêtes GET ne peuvent être codées qu'en URL, tandis que POST prend en charge plusieurs méthodes de codage.

Les paramètres de la requête GET seront entièrement conservés dans l'historique du navigateur, tandis que les paramètres du POST ne seront pas conservés.

Les paramètres transmis dans l'URL de la requête GET ont des limites de longueur, mais il n'y a pas de limite de longueur pour le POST.

Concernant le type de données des paramètres, GET n'accepte que les caractères ASCII, tandis que POST n'a aucune restriction.

GET est moins sécurisé que POST car les paramètres sont directement exposés sur l'URL, il ne peut donc pas être utilisé pour transmettre des informations sensibles.

Les paramètres GET sont transmis via l'URL et POST est placé dans le corps de la requête.

(Cette réponse standard est référencée par w3schools)

"Malheureusement, ce n'est pas la réponse que nous voulons !"

La différence entre les deux paramètres transmis par get post

S'il vous plaît, dites-le ! moi la vérité. . .

Si je vous disais qu'il n'y a essentiellement aucune différence entre GET et POST, le croiriez-vous ?

Enlevons le manteau de GET et POST et soyons honnêtes les uns envers les autres !

La différence entre les deux paramètres transmis par get post

Que sont GET et POST ? Deux méthodes d'envoi de requêtes dans le protocole HTTP.

Qu'est-ce que HTTP ? HTTP est un protocole basé sur TCP/IP sur la façon dont les données sont communiquées sur le World Wide Web.

La couche inférieure de HTTP est TCP/IP. Ainsi, la couche inférieure de GET et POST est également TCP/IP, c'est-à-dire que GET/POST sont tous deux des liens TCP. GET et POST peuvent faire la même chose. Vous devez ajouter le corps de la requête à GET et les paramètres d'URL à POST. Techniquement, c'est tout à fait réalisable.

Alors, quelles sont les différences dans les « réponses standards » ?

La différence entre les deux paramètres transmis par get post

Dans notre monde du World Wide Web, TCP est comme une voiture. Nous utilisons TCP pour transporter des données. Il est très fiable et il ne manquera jamais d'éléments. Mais si toutes les voitures sur la route se ressemblent exactement, le monde ressemblera à un désordre. Les voitures délivrant des messages urgents pourraient être bloquées par des voitures chargées de marchandises devant elles, et l’ensemble du système de transport serait définitivement paralysé. Pour éviter que cela ne se produise, les règles de trafic HTTP sont nées. HTTP a défini plusieurs catégories de services pour le transport automobile, notamment GET,

POST, PUT,

DELETE, etc. HTTP stipule que lors de l'exécution d'une requête GET, la voiture doit être étiquetée GET tag ( définissez la méthode sur GET), et les données transmises doivent être placées sur le toit (dans l'URL) pour faciliter l'enregistrement. S'il s'agit d'une demande POST, une étiquette POST doit être apposée sur la voiture et la marchandise doit être placée dans le transport. Bien sûr, vous pouvez aussi cacher secrètement certaines marchandises dans la voiture pendant le GET, mais c'est très honteux, vous pouvez également mettre des données sur le toit pendant le POST, ce qui rend les gens ridicules. HTTP n'est qu'un code de conduite et TCP est la base de la façon dont GET et POST sont implémentés.

Cependant, on voit seulement que HTTP impose des exigences sur le canal de transmission (url ou corps de la requête) des paramètres GET et POST. D'où vient la limite de taille des paramètres dans la « réponse standard » ?

La différence entre les deux paramètres transmis par get post

Dans notre monde du World Wide Web, il existe un autre rôle important : les entreprises de transport. Différents navigateurs (initiant des requêtes http) et serveurs (acceptant des requêtes http) sont des sociétés de transport différentes.

Bien qu'en théorie, vous puissiez empiler un nombre illimité de marchandises sur le toit de la voiture (ajoutez des paramètres illimités à l'URL). Mais les entreprises de transport ne sont pas stupides. Le chargement et le déchargement sont également très coûteux. Ils limiteront le volume d'un seul envoi pour contrôler les risques. Une trop grande charge de données pèsera sur le navigateur et le serveur. La règle non écrite dans l'industrie est que (la plupart) des navigateurs limitent généralement la longueur des URL à 2 Ko, et (la plupart) des serveurs peuvent gérer des URL jusqu'à 64 Ko. Tout excédent ne sera pas traité. Si vous utilisez le service GET, les données sont secrètement cachées dans le corps de la requête

. Différents serveurs les gèrent différemment. Certains serveurs vous aideront à décharger et à lire les données, tandis que d'autres les ignoreront directement, bien que GET. peut Avec demande

corps, il n'y a aucune garantie qu'il sera reçu.

D'accord, maintenant vous savez que GET et POST sont essentiellement des liens TCP, il n'y a pas de différence. Cependant, en raison des réglementations HTTP et des limitations du navigateur/serveur, ils présentent certaines différences dans le processus de candidature.

Pensez-vous que cet article se termine ainsi ?

La différence entre les deux paramètres transmis par get post

Notre grand BOSS attend toujours d'apparaître. . .

À quel point ce BOSS est-il mystérieux ? Lorsque vous essayez de trouver « la différence entre GET et POST » sur Internet, cela n’est jamais mentionné dans les résultats de recherche que vous verrez. Qu'est-ce qu'il est exactement ? . .

Il existe une autre différence majeure entre GET et POST :

GET génère un paquet de données TCP ; POST génère deux paquets de données TCP. Longue histoire :

Pour les requêtes GET, le navigateur enverra l'en-tête http et les données ensemble, et le serveur répondra avec 200 (renvoie les données)

Pour POST, le navigateur enverra d'abord ; l'en-tête, le serveur répond par 100 continue, le navigateur envoie ensuite des données et le serveur répond par 200 ok (renvoie les données).

En d'autres termes, GET ne nécessite qu'un seul trajet en voiture pour livrer la marchandise, tandis que POST nécessite deux trajets. Lors du premier trajet, allez dire bonjour au serveur "Bonjour, je vais en livrer un. plus tard. "Quand les marchandises arrivent, vous ouvrez la porte pour me saluer", puis retournez livrer les marchandises.

Comme le POST nécessite deux étapes et prend un peu plus de temps, il semble que GET soit plus efficace que POST. Par conséquent, l'équipe Yahoo recommande de remplacer POST par GET pour optimiser les performances du site Web. Mais c'est un piège ! Entrez avec prudence. Pourquoi?

1. GET et POST ont leur propre sémantique et ne peuvent pas être mélangés avec désinvolture.

2. Selon les recherches, lorsque l'environnement réseau est bon, la différence entre l'heure d'envoi d'un colis et l'heure d'envoi de deux colis peut être fondamentalement ignorée. Dans le cas d'un environnement réseau médiocre, TCP avec deux paquets présente de grands avantages pour vérifier l'intégrité des paquets de données.

3. Tous les navigateurs n'enverront pas le package deux fois en POST, Firefox ne l'envoie qu'une seule fois.

Maintenant, lorsque l'intervieweur vous demande « la différence entre GET et POST », est-ce ce que vous ressentez dans votre cœur ?

La différence entre les deux paramètres transmis par get post

Fin ! ! !

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!

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