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

Der Unterschied zwischen get und post in PHP

hzc
hzcOriginal
2020-06-19 15:45:252315Durchsuche

Der Unterschied zwischen get und post in PHP

Der Unterschied zwischen get und post in PHP

Die Längenbeschränkung von GET und POST

GET

1.GET übermittelt Daten über eine URL, 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

Das Gleiche Das HTTP-Protokoll erlegt POST keine Einschränkungen auf, die im Allgemeinen durch die Serverkonfiguration oder die Speichergröße begrenzt sind.

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

Das Inhaltslängenproblem des Anfrage-Headers

Wenn jemand in böswilliger Absicht einen Header mit großer Inhaltslänge fälscht, tatsächlich aber eine Anfrage mit kleinem Inhalt sendet- Länge, etwa so: Der Server wartet, bis das Zeitlimit überschritten wird. Natürlich kann der Server dieses Problem durch die Einstellungen

Sicherheit von GET und POST

1 vermeiden. GET wird über die 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 auf dem Server

Gemäß dem Design von http erwartet jeder, wenn er get sieht, dass diese Anforderung den Server nicht ändert. Siehe Beitrag, es wird angenommen, dass dadurch der Server verändert wurde.

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.

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

2. Die Einführung der Idempotenz 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 Anfragen können unerwartete Konsequenzen haben.

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

Empfohlenes Tutorial: „

PHP-Tutorial

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