Der Martin: Was ist der Unterschied zwischen get und post?

Beitrag lesen

Hallo Richard,

Ich verstehe beim besten Willen nicht, wo zwischen method=post und method=get der Unterschied sein soll oder wozu es überhaupt einen gibt!

Technisch betrachtet:
Bei GET werden zusätzliche Parameter (z.B. Formulardaten) in der URL übertragen, also mit dem bekannten Schwänzchen ?param1=wert1&param2=wert2&...
Bei POST werden die gleichen Daten im Request-Body übertragen.

Vor- und Nachteile:
1. Bei GET sieht der User, welche Daten übergeben werden (kann man als Vorteil oder als Nachteil sehen)
2. Bei GET ist die Länge begrenzt, bei POST nicht
3. Die Ergebnisseite eines GET-Formulars kann man bookmarken, da alle nötigen Informationen in der URL enthalten sind
4. Die Ergebnisseite eines POST-Formulars kann man weder bookmarken noch im Browser aktualisieren, da die Daten nicht mehr zur Verfügung stehen
5. File-Upload ist nur mit POST möglich

Aus Punkt 4. folgt außerdem, dass man ein Formular mit method="post" nicht aus Versehen mehrmals abschicken kann (z.B. indem man nach dem Abschicken die "Zurück"-Funktion des Browsers verwendet und dann erneut abschickt). Deswegen wird empfohlen, POST für Formulare zu verwenden, die irgendeine nachhaltige Veränderung auf der Serverseite bewirken - z.B. ein Eintrag in eine Datenbank, das Versenden einer Nachricht etc., während GET für solche Zwecke eingesetzt werden sollte, bei denen ein Mehrfachaufruf keine unerwünschten Nebeneffekte hat - also etwas eine reine Datenbankabfrage, eine Suchanfrage, etc.

Ich hoffe, damit kannst du ein bisschen was anfangen.

Schönes Wochenende noch,
 Martin

--
Lache, und die Welt wird mit dir lachen.
Schnarche, und du schläfst allein.