PUT vs. POST – Unterschied zwischen ihnen
Hauptunterschiede zwischen PUT und POST
- Die PUT-Methode wird aufgerufen, wenn Sie eine einzelne Ressource ändern müssen, während die POST-Methode aufgerufen wird, wenn Sie eine untergeordnete Ressource hinzufügen müssen.
- Antworten der POST-Methode können zwischengespeichert werden, Antworten der PUT-Methode können jedoch nicht zwischengespeichert werden.
- Sie können die UPDATE-Abfrage in PUT verwenden, während Sie die Erstellungsabfrage in POST verwenden können.
- Bei der PUT-Methode entscheidet der Client, welche URI-Ressource er haben soll, und bei der POST-Methode entscheidet der Server, welche URI-Ressource er haben soll.
- PUT funktioniert spezifisch, während POST abstrakt funktioniert.
- Wenn Sie dieselbe PUT-Anfrage mehrmals senden, bleibt das Ergebnis gleich, wenn Sie jedoch dieselbe POST-Anfrage mehrmals senden, erhalten Sie unterschiedliche Ergebnisse.
- Die PUT-Methode ist idempotent, wohingegen die POST-Methode nicht idempotent ist.
Was ist die PUT-Methode?
Die PUT-Methode wird verwendet, um die auf dem Server verfügbaren Ressourcen zu aktualisieren. Normalerweise ersetzt es alles, was unter der Ziel-URL vorhanden ist, durch etwas anderes. Sie können damit eine neue Ressource erstellen oder eine vorhandene überschreiben. PUT verlangt, dass die eingeschlossene Entität unter dem bereitgestellten angeforderten URI (Uniform Resource Identifier) gespeichert werden muss.
Was ist die POST-Methode?
POST ist eine Methode, die von HTTP und unterstützt wird
stellt dar, dass ein Webserver die im Textkörper der angeforderten Nachricht enthaltenen Daten akzeptiert. POST wird im World Wide Web häufig verwendet, um benutzergenerierte Daten an den Webserver zu senden oder wenn Sie Dateien hochladen.
Unterschiede zwischen PUT und POST in REST-APIs
Hier ist der wichtige Unterschied zwischen der PUT- und der POST-Methode:
SETZEN | jetzt lesen |
---|---|
Diese Methode ist idempotent. | Diese Methode ist nicht idempotent. |
Die PUT-Methode wird aufgerufen, wenn Sie eine einzelne Ressource ändern müssen, die bereits Teil der Ressourcensammlung ist. | Die POST-Methode wird aufgerufen, wenn Sie unter der Ressourcensammlung eine untergeordnete Ressource hinzufügen müssen. |
RFC-2616 zeigt, dass die PUT-Methode eine Anfrage für eine eingeschlossene Entität sendet, die im bereitgestellten Anfrage-URI gespeichert ist. | Diese Methode fordert den Server auf, die in der Anfrage enthaltene Entität zu akzeptieren. |
Die Syntax der PUT-Methode lautet PUT /questions/{question-id} | Die Syntax der POST-Methode lautet POST /questions |
Sie können die Antworten der PUT-Methode nicht zwischenspeichern. | Die Antwort der POST-Methode kann zwischengespeichert werden. |
PUT /vi/juice/orders/1234 zeigt an, dass Sie eine Ressource aktualisieren, die durch „1234“ gekennzeichnet ist. | POST /vi/juice/orders zeigt an, dass Sie eine neue Ressource erstellen und gibt einen Bezeichner zur Beschreibung der Ressource zurück. |
Wenn Sie dieselbe Anfrage mehrmals senden, bleibt das Ergebnis dasselbe. | Wenn Sie dieselbe POST-Anfrage mehr als einmal senden, erhalten Sie unterschiedliche Ergebnisse. |
PUT funktioniert als spezifisch. | POST-Arbeit als Zusammenfassung. |
Wir verwenden die UPDATE-Abfrage in PUT. | Wir verwenden die Erstellungsabfrage in POST. |
Bei der PUT-Methode entscheidet der Client, welche URI-Ressource haben soll. | Bei der POST-Methode entscheidet der Server, welche URI-Ressource haben soll. |
Beispiel für PUT
Hier ist das Webserver-Beispiel einer PUT-Methode:
HTTP PUT http://www.google.com/users/234
HTTP PUT http://www.google.com/users/234/accounts/567
PREISANFRAGE (Request)
PUT /new.html HTTP/1.1 Host: example.com Content-type: text/html Content-length: 20 <p>New File</p>
Rücklaufrate
Wenn die Zielressource über eine aktuelle Darstellung verfügt und mit dem Status der eingeschlossenen Darstellung geändert wird, sollte der Server zwei Antworten senden. Der erste Antwortcode ist 200 (OK) und der zweite Antwortcode ist 204 (Kein Inhalt).
Wenn die Zielressource keine Darstellung hat, sollte der Server den Benutzer durch Senden einer Antwort mit dem Code 201 (Erstellt) informieren.
HTTP/1.1 201 Created Content-Location: /new.html
Beispiel für POST
Hier ist ein Beispiel für die POST-Methode:
HTTP-POST http://www.google.com/users
HTTP-POST http://www.google.com/users/234/accounts
Ein Formular, das den Standardinhaltstyp application/x-www-form-urlencoded verwendet:
POST /test HTTP/1.1 Host: abc.example Content-Type: application/x-www-form-urlencoded Content-Length: 40 field1=value1&field2=value2
Testen einer API mit PUT-Anfragen
Hier sind die Schritte zum Testen der API mit PUT-Anfragen:
Schritt 1) Ressourcen mit PUT-Anfrage aktualisieren.
Schritt 2) Verwenden Sie die GET-Methode für die Ressource. Wenn die PUT-Anfrage erfolgreich ist, erhalten Sie neue Daten. Diese Methode schlägt fehl, wenn die in der Anfrage angegebenen Daten ungültig sind. Daher wird nichts aktualisiert.
Testen einer API mit POST-Anfragen
Hier sind die Schritte zum Testen der API mit POST-Anfragen:
Schritt 1) Erstellen Sie eine Ressource mithilfe einer POST-Anfrage und stellen Sie sicher, dass sie den Statuscode 200 zurückgibt.
Schritt 2) Stellen Sie eine GET-Anfrage für diese Ressource und speichern Sie die Daten im richtigen Format.
Schritt 3) Sie müssen Tests hinzufügen, die sicherstellen, dass POST-Anfragen mit falschen Daten fehlschlagen.
Vorteile der PUT-Methode
Hier sind die Vorteile/Vorteile der Verwendung der PUT-Methode:
- Es hilft Ihnen, die bereitgestellte Entität unter dem angegebenen URI zu speichern
- Wenn die angegebene Entität bereits vorhanden ist, können Sie den Aktualisierungsvorgang durchführen oder sie mit dieser URI erstellen.
- Sie können eine Ressource so oft erstellen, wie Sie möchten.
- Das Erstellen einer Ressource mit der PUT-Methode ist sehr einfach.
- Sie müssen nicht prüfen, ob der Benutzer mehrmals auf die Schaltfläche „Senden“ geklickt hat oder nicht.
- Es kann die der Anfrage beigefügte Entität identifizieren.
Vorteile der POST-Methode
Hier sind die Vorteile/Vorteile der Verwendung der POST-Methode:
- Mit dieser Methode können Sie den Ressourcen-URI ermitteln.
- Das Angeben eines neuen Ressourcenstandort-Headers ist mithilfe des Standort-Headers sehr einfach.
- Sie können eine Anfrage senden, um die Entität als neues Untergeordnetes der Ressource zu akzeptieren, die durch den URI identifiziert wird.
- Sie können benutzergenerierte Daten an den Webserver senden.
- Dies ist sehr nützlich, wenn Sie die URL zum Speichern einer Ressource nicht kennen.
- Verwenden Sie POST, wenn Sie den Server benötigen, der die URL-Generierung Ihrer Ressourcen steuert.
- POST ist eine sichere Methode, da die Anfragen nicht im Browserverlauf verbleiben.
- Große Datenmengen können Sie mühelos per Post übermitteln.
- Sie können die Daten privat halten.
- Mit dieser Methode können sowohl binäre als auch ASCII-Daten gesendet werden.