Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Programmierung mit PHP  Teil von  Formulare und PHP
  +++ SELFPHP CronJob-Service :: Jetzt auch als Professional-Version verfügbar! +++



:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP? In über 120.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

:: Qozido ::

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.   

 
 
GET und POST




Die sinnvollste Methode für die jeweilige Webanwendung einzusetzen, liegt in den Händen des Entwicklers, daher sollten einige Hintergrundinformationen zu den beiden Übertragungsmethoden vorhanden sein.


POST

Die POST-Methode wird vorwiegend eingesetzt, um dem Server mitzuteilen, dass eine Anforderung des Clients weitere Daten enthält. POST bietet in diesem Zusammenhang folgende Funktionen an:
  • Übertragung eines Datenblocks, dazu gehören auch die Inhalte eines Formulars
  • Übertragung von Nachrichten auf eine Nachrichtengruppe, Mailingliste etc.
  • Mitteilung existierender Ressourcen

Die aktuell durch POST ausgelöste Aktion wird durch den Server festgelegt und ist abhängig von der Request-URI. Der gesendete Datenblock stellt hierbei einen Bestandteil dieser URI dar, ähnlich wie eine Datei Bestandteil eines Verzeichnisses ist. Der durch POST ausgelöste Prozess muss nicht direkt an eine Ressource gerichtet sein, die durch die URI adressiert wird. In diesem Fall wird entweder 200 (OK) oder 204 (No Content) als Statusmeldung übertragen. Um an dieser Stelle die Theorie auf den Punkt zu bringen: Praktisch gesehen dient POST dazu, Formulardaten vom Browser zum Server zu übertragen.


GET

Die GET-Methode ist in der Lage, Informationen jeglicher Art mithilfe der Ergebnis-URI zu identifizieren. Wenn die URI auf einem Prozess basiert, welcher Daten zurückgibt, besteht dieser aus den erzeugten Daten. Die vollständige URI besteht aus der URL, einem Fragezeichen als Trennzeichen und den Daten.

Beispiel

www.meinedomain.de/ausgabe.php?inhalt=Hallo Besucher

Es ist ebenfalls möglich, eine GET-Anforderung mit Bedingungen zu senden, beispielsweise If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, If-Range. In diesen Fällen werden die Daten nur dann übertragen, wenn die Bedingungen erfüllt sind.


Unterschiede und Gemeinsamkeiten von GET und POST

Die vorliegenden Ausführungen haben sicher einige Unterschiede deutlich gemacht. Für den Einsatz in PHP-basierten Webanwendungen ist lediglich eines von Interesse:
  • Die POST-Methode überträgt die Daten im Körper (Body) der Nachricht. Damit sind die Daten ein Teil der Nachricht, welche aus Kopf (Header) und Körper (Body) zusammengesetzt ist. In diesem Fall ist der Platz übrigens nicht beschränkt.
  • Die GET-Methode nutzt die URI zur Übertragung der Daten und hängt diese quasi an die URL mit an. Die Länge der URL ist jedoch bestimmten Beschränkungen von Seiten der Browser unterworfen. Daher sollte die Datenmenge möglichst eine Größe von 2 Kilobyte nicht überschreiten. Dies ist im Übrigen schnell erreicht, da neben den eigentlichen Daten auch jedes Trennzeichen und jeder Variablen- bzw. Feldname mit übertragen wird.

Mit POST umgehen Sie die Beschränkungen von Seiten der Browser. Als einziger Nachteil könnte in Performance-ortientierten Systemen der größere Zeitaufwand zur Übertragung der Nachricht angesehen werden. Dieser Nachteil kommt dadurch zustande, dass der Server zusätzlich zum Kopf auch den gesamten Körper der Nachricht übertragen muss.


GET oder POST?

Hier einige handfeste Tipps für die Entscheidung, welche Übertragungsmethode Sie einsetzen sollten.

Allgemein betrachtet ist es besser, die Methode GET zu verwenden: Formulare sind wesentlich leichter zu debuggen und der Anwender kann sich ein fertig ausgefülltes Formular mit Parametern in die Bookmarks oder einen Hyperlink legen – das ist besonders bequem und ergonomisch.

Enthält das Formular Werte, die nicht in der URL angezeigt werden sollen, die auch nicht Bestandteil des Referers sein und nicht in Proxy-Logs auftauchen sollen, dann ist die Verwendung von POST anzuraten. Dies ist zum Beispiel immer dann der Fall, wenn ein Eingabeelement Password verwendet wird.

Ebenfalls sollte POST verwendet werden, wenn die Länge von Eingabeelementen nicht nach oben begrenzt ist, also immer dann, wenn eine TEXTAREA verwendet wird.

Schließlich ist die Verwendung von POST zwingend notwendig, wenn ein File-Upload durchgeführt werden soll, einmal wegen der prinzipiell unbegrenzten Länge, aber auch weil das notwendige Attribut ENCTYPE="multipart/form-data" nur in Verbindung mit POST funktioniert.


 




:: Premium-Partner ::

Webhosting/Serverlösungen


Premium-Partner MECO Systemhaus GmbH & Co. KG
Premium-Partner PSW GROUP GmbH & Co. KG
Premium-Partner BPI-Systeme
Premium-Partner Pixel X
Premium-Partner
 

:: SELFPHP Sponsoren ::


Microsoft Deutschland GmbH
twosteps.net - ...Premium-Webhosting
Sedo - Bei uns wird PHP großgeschrieben
hostfactory.ch - OptimaNet Schweiz AG
ZEND - The PHP Company
Kaspersky Labs
HighText iBusiness
SELFPHP Sponsoren
 

Qozido


© 2001-2009 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt