Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen get und post in PHP

Der Unterschied zwischen get und post in PHP

angryTom
angryTomOriginal
2019-08-23 16:28:465463Durchsuche

Der Unterschied zwischen get und post in PHP

Der Unterschied zwischen PHP Get und Post

1 . Get ist harmlos, wenn der Browser zurückgesetzt wird, aber der Beitrag wird erneut angefordert.

2. Die von get generierte URL-Adresse kann erfasst werden, der Beitrag jedoch nicht Die Anforderungsparameter bleiben vollständig im Browserverlauf erhalten, die Beitragsparameter werden jedoch nicht beibehalten 🎜>

5. Die Get-Anfrage befindet sich in der URL. Die übergebenen Parameter unterliegen Längenbeschränkungen, Post jedoch nicht.

6. Es gibt Parameter für GET in der Hintergrundleiste, aber keine Parameter für Post .

Längenbeschränkung von GET und POST

GET

1. GET erfolgt über URL-Übermittlung Daten, sodass die Datenmenge, die von GET übermittelt werden kann, direkt mit der maximalen Länge zusammenhängt, die die URL erreichen kann.

 2. Tatsächlich gibt es im HTTP-Protokoll keine Begrenzung der URL-Länge; die meisten Einschränkungen der URL-Länge sind Browser- oder Serverkonfigurationsparameter

POST

1. Ebenso unterliegt das HTTP-Protokoll keinerlei Einschränkungen für POST, das im Allgemeinen durch die Serverkonfiguration oder die Speichergröße begrenzt ist.

2. Unter PHP können Sie die Postmaxsize von php.conf ändern, um die POST-Größe festzulegen.

Problem mit der Inhaltslänge des Anforderungsheaders

Wenn jemand in böswilliger Absicht die Inhaltslänge A fälscht großer Header, sendet aber tatsächlich eine Anfrage mit einer kleinen Inhaltslänge, sodass der Server wartet, bis das Zeitlimit überschritten wird. Natürlich kann der Server so eingerichtet werden, dass dieses Problem vermieden wird Empfohlenes Tutorial:

PHP-Video-Tutorial Sicherheit von GET und POST

 1. GET wird über eine URL angefordert, die direkt angezeigt und im Klartext übertragen werden kann. 2. POST wird über den Anforderungsheader angefordert, der von Entwicklertools oder der Paketerfassung eingesehen werden kann und auch im Klartext vorliegt.

3. Die GET-Anfrage wird im Browserverlauf und möglicherweise auch im Webprotokoll gespeichert.

Der Status von GET und POST an den Server

Gemäß dem Design von http erwartet jeder, wenn er get sieht, diese Anfrage Der Server Es gibt keine Änderung. Als ich den Beitrag sah, dachte ich, er hätte den Server geändert.

GET ist idempotent, POST ist nicht idempotent

Idempotent bedeutet, dass die Auswirkung der mehrfachen und nur einmaligen Ausführung derselben Anforderungsmethode auftritt ist völlig gleich. 1. Gemäß RFC-Spezifikationen 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.

2. Die Einführung von Idempotenz dient hauptsächlich dazu, Situationen zu bewältigen, in denen 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 Anfragen können unerwartete Konsequenzen haben.

3. Im Weibo-Szenario wird beispielsweise die Semantik von GET in Szenarien wie „Sehen Sie sich die letzten 20 Weibo-Beiträge auf meiner Timeline an“ verwendet, während die Semantik von POST in „ In einem Szenario wie dem Posten, Kommentieren und Liken auf Weibo.

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen get und post in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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
Vorheriger Artikel:So verwenden Sie PHP-JoinNächster Artikel:So verwenden Sie PHP-Join