In Kürze
- Utilisez
GET
para safe and
idempotent
Anfragen
- Utilisez
POST
para neither safe nor idempotent
Anfragen
Im Detail Für jeden gibt es einen angemessenen Platz. Auch wenn Sie nicht folgen RESTful Prinzipien kann man viel gewinnen, wenn man sich mit REST und der Funktionsweise eines ressourcenorientierten Ansatzes vertraut macht.
Eine RESTful-Anwendung wird use GETs
für Vorgänge, die sowohl safe and idempotent
.
A safe
Operation ist eine Operation, die not change the data
angefordert.
Eine idempotent
Vorgang ist ein Vorgang, bei dem das Ergebnis be the same
egal, wie oft Sie es anfordern.
Es liegt auf der Hand, dass, da GETs verwendet werden sicher Operationen sind sie automatisch auch idempotent . Normalerweise wird ein GET verwendet, um eine Ressource (z. B. eine Frage und die dazugehörigen Antworten auf Stack Overflow) oder eine Sammlung von Ressourcen abzurufen.
Eine RESTful-Anwendung verwendet PUTs
für Vorgänge, die not safe but idempotent
.
Ich weiß, die Frage bezog sich auf GET und POST, aber ich werde gleich auf POST zurückkommen.
Ein PUT wird in der Regel zur Bearbeitung einer Ressource verwendet (z. B. zur Bearbeitung einer Frage oder einer Antwort auf Stack Overflow).
A POST
würde für jeden Vorgang verwendet werden, der neither safe or idempotent
.
Normalerweise wird ein POST verwendet, um eine neue Ressource zu erstellen, z. B. eine NEUE SO-Frage (obwohl in einigen Designs auch ein PUT dafür verwendet werden kann).
Wenn Sie den POST zweimal ausführen, würden Sie am Ende ZWEI neue Fragen erstellen.
Es gibt auch eine DELETE-Operation, aber ich schätze, die kann ich dort lassen :)
Diskussion
In der Praxis unterstützen moderne Webbrowser in der Regel nur GET und POST zuverlässig (Sie können alle diese Operationen über Javascript-Aufrufe durchführen, aber wenn Sie Daten in Formulare eingeben und auf "Submit" drücken, haben Sie in der Regel nur diese beiden Optionen). In einer RESTful-Anwendung wird POST oft überschrieben, um auch die PUT- und DELETE-Aufrufe bereitzustellen.
Aber auch wenn Sie sich nicht an die RESTful-Prinzipien halten, kann es sinnvoll sein, GET zum Abrufen/Anzeigen von Informationen und POST zum Erstellen/Bearbeiten von Informationen zu verwenden.
Sie sollten GET niemals für eine Operation verwenden, die Daten verändert. Wenn eine Suchmaschine einen Link zu Ihrer bösartigen Operation findet oder der Kunde ein Lesezeichen setzt, könnte das großen Ärger bedeuten.