288 Stimmen

Wann sollte ich die Methode GET oder POST verwenden? Was ist der Unterschied zwischen ihnen?

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 )

9voto

Chiwda Punkte 1016

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.

4voto

  1. Die GET-Methode wird verwendet, um die weniger sensiblen Daten zu senden, während die POST-Methode verwendet wird, um die sensiblen Daten zu senden.
  2. Mit der POST-Methode können Sie im Vergleich zur GET-Methode eine größere Datenmenge senden.
  3. Die mit der GET-Methode gesendeten Daten sind in der Kopfzeile des Browsers sichtbar, während die mit der POST-Methode gesendeten Daten unsichtbar sind.

1voto

RobotCharlie Punkte 1015

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.

-11voto

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.com

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.

Powered by:

X