Was ist der Unterschied bei der Verwendung von GET
o POST
Methode? Welche Methode ist sicherer? Was sind die (Un-)Vorteile der einzelnen Methoden?
( ähnliche Frage )
Was ist der Unterschied bei der Verwendung von GET
o POST
Methode? Welche Methode ist sicherer? Was sind die (Un-)Vorteile der einzelnen Methoden?
( ähnliche Frage )
Alle oder vielleicht die meisten Antworten in dieser Frage und in andere Fragen zu SO in Bezug auf GET
y POST
sind fehlgeleitet. Sie sind technisch korrekt und erklären die Normen richtig, aber in der Praxis sieht es ganz anders aus. Lassen Sie mich das erklären:
GET
gilt als idempotent aber das muss nicht sein. Sie können Parameter in einer GET
zu einem Serverskript, das dauerhafte Änderungen an Daten vornimmt. Umgekehrt, POST
wird als no idempotent, aber man kann POST
zu einem Skript, das keine Änderungen auf dem Server vornimmt. Dies ist also eine falsche Dichotomie und in der Praxis irrelevant.
Außerdem ist es ein Fehler zu sagen, dass GET
kann nichts beschädigen, wenn es neu geladen wird - natürlich kann es das, wenn das Skript, das es aufruft, und die Parameter, die es übergibt, eine dauerhafte Änderung vornehmen (z. B. das Löschen von Daten). Und so kann POST
!
Nun, wir wissen, dass POST
ist (bei weitem) sicherer, weil es die übergebenen Parameter nicht offenlegt und nicht zwischengespeichert wird. Außerdem können Sie mehr Daten übergeben und Sie GET
eine saubere, nicht verwirrende URL. Und sie tut alles, was GET
tun können. Es ist also einfach besser. Zumindest in der Produktion.
Wann sollten Sie also in der Praxis die GET
vs. POST
? Ich benutze GET
während der Entwicklung, damit ich die Parameter, die ich übergebe, sehen und anpassen kann. Ich verwende es, um schnell verschiedene Werte (z. B. zum Testen von Bedingungen) oder sogar verschiedene Parameter auszuprobieren. Ich kann das tun, ohne ein Formular zu erstellen und es ändern zu müssen, wenn ich einen anderen Satz von Parametern benötige. Ich bearbeite einfach die URL in meinem Browser nach Bedarf.
Sobald die Entwicklung abgeschlossen oder zumindest stabil ist, stelle ich alles auf POST
.
Wenn Ihnen ein technischer Grund einfällt, warum dies falsch ist, würde ich mich freuen, ihn zu erfahren.
Verwenden Sie die GET-Methode, wenn Sie die Ressourcen von der URL abrufen möchten. Sie können immer die letzte Seite sehen, wenn Sie auf die Schaltfläche "Zurück" Ihres Browsers klicken, und sie kann mit einem Lesezeichen versehen werden, daher ist sie nicht so sicher wie die POST-Methode.
Verwenden Sie die POST-Methode, wenn Sie etwas an die URL "senden" wollen. Wenn Sie z. B. ein Google-Konto erstellen möchten und alle detaillierten Informationen ausfüllen müssen, klicken Sie auf die Schaltfläche "Absenden" (hier wird die POST-Methode aufgerufen). Sobald Sie erfolgreich abgesendet haben und versuchen, die Schaltfläche "Zurück" Ihres Browsers zu drücken, erhalten Sie einen Fehler oder ein neues leeres Formular anstelle der letzten Seite mit dem ausgefüllten Formular.
Die GET
Methode:
Es wird nur für das Senden eines Datums mit 256 Zeichen verwendet.
Bei dieser Methode sind die Informationen auf dem Browser zu sehen
Dies ist die Standardmethode für Formulare
Es ist nicht so gesichert.
Die POST
Methode:
Es wird für den Versand unbegrenzter Daten verwendet.
Bei dieser Methode sind die Informationen im Browser nicht zu sehen.
Sie können ausdrücklich erwähnen, dass die POST
Methode
Sie ist besser gesichert als die GET
Methode
Es bietet mehr fortgeschrittene Funktionen
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.