GET und POST sind die beiden am häufigsten verwendeten HTTP-Anforderungsmethoden. Normalerweise werden GET-Anforderungen verwendet, um Webseiten anzufordern, während POST verwendet wird, um Daten an den Webserver zu senden, beispielsweise über ein Webformular.
Tipp: Obwohl sie als HTTP-Methoden bezeichnet werden, werden sowohl GET als auch POST in HTTPS verwendet.
Einer der wichtigen Unterschiede besteht darin, dass alle Parameter, die in GET-Anfragen enthalten sind, in der URL selbst enthalten sind, während Parameter in POST-Anfragen Teil des Anfragetexts sind.
Eine GET-Anfrage-URL kann beispielsweise wie folgt aussehen: „GET.php? parameter=value“, wohingegen die URL für eine POST-Anfrage wie „POST.php“ aussehen würde und dann „parameter=value“ im Anfragetext gesetzt wäre.
Eine der wichtigsten Auswirkungen davon ist, dass bei Protokollierungsanfragen von Webservern immer die angeforderte URL protokolliert wird. Bei GET-Anfragen werden also auch die Parameter protokolliert, bei POST-Anfragen werden die Werte jedoch nicht protokolliert, da der Hauptteil der Anforderung nicht protokolliert wird. Dies ist besonders wichtig für Formulare, die sensible Daten wie Passwörter oder PII enthalten (Persönlich identifizierbare Informationen), da die Verwendung von POST bedeutet, dass diese Informationen nicht eingeloggt werden Webserver.
Weitere Unterschiede zwischen GET und POST sind die Tatsache, dass GET-Anfragen vom Browser oder Caches von Drittanbietern zwischengespeichert werden können, GET-Anfragen in den Browserverlauf aufgenommen werden und mit einem Lesezeichen versehen werden können. POST-Anfragen werden dagegen nie zwischengespeichert, nicht im Browserverlauf gespeichert und können nicht mit einem Lesezeichen versehen werden.
Es ist möglich, Formulare so zu konfigurieren, dass eine GET-Anforderung verwendet wird, um Daten an den Webserver zu senden, aber dies ist eine schlechte Idee, da all diese Faktoren eine Rolle spielen. Bei sensiblen Formularen wie Anmeldeformularen ist es besonders wichtig, dass die Protokollierung dieser Anfrage die das Passwort des Benutzers, und wenn die Antwort von einem Drittanbieter zwischengespeichert wurde, können sich andere Benutzer beim Benutzer anmelden Konto.