Heim > Backend-Entwicklung > PHP-Problem > Was ist der Unterschied zwischen den GET- und POST-Methoden von PHP?

Was ist der Unterschied zwischen den GET- und POST-Methoden von PHP?

青灯夜游
Freigeben: 2023-03-10 11:34:02
Original
4088 Leute haben es durchsucht

Unterschiede: 1. GET kann nur eine begrenzte Datenmenge senden, während POST keine Begrenzung hat. 2. Die von GET gesendeten Daten sind nicht geschützt und weisen eine geringe Sicherheit auf, während POST eine hohe Sicherheit aufweist. 3. Die Ergebnisse der GET-Abfrage können zu Lesezeichen hinzugefügt werden, POST jedoch nicht. 4. GET akzeptiert nur ASCII-Zeichen und POST erlaubt Binär- und ASCII-Zeichen usw.

Was ist der Unterschied zwischen den GET- und POST-Methoden von PHP?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Der Hauptunterschied zwischen Get und Post besteht darin, dass Get Daten über die URL überträgt, während Post den Benutzern nicht erlaubt, sie zu sehen Spezifische Informationen, dieser Unterschied bestimmt die Verwendung beider. Die Get-Methode wird hauptsächlich zum Suchen verwendet, während die Post-Methode hauptsächlich zum Übertragen von Benutzerbetriebsinformationen an den Server verwendet wird.

Der Unterschied zwischen GET- und POST-Methoden:

1. Gesendete Datenmenge

Bei GET kann nur eine begrenzte Datenmenge gesendet werden, da die Daten in der URL gesendet werden.

Bei POST können große Datenmengen gesendet werden, da die Daten im Textkörper gesendet werden.

2. Sicherheit

Die von der GET-Methode gesendeten Daten sind nicht geschützt, da die Daten in der URL-Leiste offengelegt werden, was das Risiko von Schwachstellen und Hackerangriffen erhöht.

Die von der POST-Methode gesendeten Daten sind sicher, da die Daten nicht in der URL-Leiste angezeigt werden und mehrere Codierungstechniken darin verwendet werden können, was sie widerstandsfähig macht.

  • GET wird über eine URL angefordert, die direkt eingesehen und im Klartext übertragen werden kann.

  • POST wird über den Anforderungsheader angefordert, der von Entwicklertools oder der Paketerfassung eingesehen werden kann und auch im Klartext vorliegt.

  • GET-Anfragen werden im Browserverlauf und möglicherweise auch im Webprotokoll gespeichert.

Übermittlung abrufen, die angeforderten Daten folgen der URL (einheitliche Ressourcenpositionierung), niedrige Sicherheit

Übermittlung veröffentlichen, die übermittelten Daten in den Hauptteil des http-Pakets einfügen, hohe Sicherheit

3 Zu Lesezeichen hinzufügen

Die Ergebnisse der GET-Abfrage können zu Lesezeichen hinzugefügt werden, da sie in Form einer URL vorliegen, während die Ergebnisse der POST-Abfrage nicht zu Lesezeichen hinzugefügt werden können.

4. Kodierung

Bei Verwendung der GET-Methode in einem Formular werden im Datentyp nur ASCII-Zeichen akzeptiert.

Bei der Formularübermittlung bindet die POST-Methode nicht den Formulardatentyp und lässt Binär- und ASCII-Zeichen zu.

5. Variablengröße

Die Variablengröße in der GET-Methode beträgt etwa 2000 Zeichen. Die

POST-Methode ermöglicht eine variable Größe von bis zu 8 MB.

6. Cache

Die Daten der GET-Methode können zwischengespeichert werden, die Daten der POST-Methode können jedoch nicht zwischengespeichert werden.

7. Hauptfunktion

Die GET-Methode wird hauptsächlich zum Abrufen von Informationen verwendet. Die POST-Methode wird hauptsächlich zum Aktualisieren von Daten verwendet.

8. GET ist idempotent, POST ist nicht idempotent

Impotenz bedeutet, dass dieselbe Anforderungsmethode den gleichen Effekt hat, wenn sie mehrmals und nur einmal ausgeführt wird.

  • Gemäß der RFC-Spezifikation sind PUT-, DELETE- und Sicherheitsmethoden alle idempotent. Obwohl es sich um eine Spezifikation handelt, gibt es keine Garantie dafür, dass die Serverimplementierung idempotent ist.

  • Die Einführung von idempotent dient hauptsächlich dazu, die Situation zu bewältigen, in der dieselbe Anfrage wiederholt gesendet wird, z. B. wenn die Verbindung unterbrochen wird, bevor die Anfrage beantwortet wird. Wenn die Methode idempotent ist, können Sie die Anfrage sicher erneut senden. Dies ist auch der Grund, warum der Browser den Benutzer auffordert, beim Sichern/Aktualisieren auf POST zu stoßen: Die POST-Semantik ist nicht idempotent und wiederholte Anforderungen können unerwartete Konsequenzen haben.

  • Zum Beispiel wird im Weibo-Szenario die Semantik von GET in Szenarios wie „Sehen Sie sich die letzten 20 Weibo-Beiträge auf meiner Timeline an“ verwendet, während die Semantik von POST in Szenarios wie „Posten“ verwendet wird Weibo, Kommentare, Likes“ in diesem Szenario.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen den GET- und POST-Methoden von PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage