PUT vs POST: Was ist der Unterschied?

Inhaltsverzeichnis:

Anonim

Was ist PUT?

Die PUT-Methode wird verwendet, um die auf dem Server verfügbare Ressource zu aktualisieren. In der Regel wird alles, was unter der Ziel-URL vorhanden ist, durch etwas anderes ersetzt. Sie können damit eine neue Ressource erstellen oder eine vorhandene überschreiben. PUT fordert an, dass die eingeschlossene Entität unter dem angegebenen angeforderten URI (Uniform Resource Identifier) ​​gespeichert werden muss.

In diesem Tutorial lernen Sie:

  • Was ist PUT?
  • Was ist POST?
  • Beispiel für PUT
  • Beispiel für POST
  • Unterschied zwischen PUT und POST
  • Testen einer API mit PUT-Anforderungen
  • Testen einer API mit POST-Anforderungen
  • Vorteile der PUT-Methode
  • Vorteile der POST-Methode

Was ist POST?

POST ist eine Methode, die von HTTP und unterstützt wird

zeigt, dass ein Webserver die Daten akzeptiert, die im angeforderten Nachrichtentext enthalten sind. POST wird häufig vom World Wide Web verwendet, um benutzergenerierte Daten an den Webserver zu senden oder wenn Sie Dateien hochladen.

WICHTIGE UNTERSCHIEDE:

  • 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.
  • Die Antwort auf die PUT-Methode kann zwischengespeichert werden, aber Sie können die Antworten auf die PUT-Methode nicht zwischenspeichern.
  • 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 vorhanden sein soll, und bei der POST-Methode entscheidet der Server, welche URI-Ressource vorhanden sein soll.
  • PUT arbeitet als spezifisch, während POST als abstrakt arbeitet.
  • Wenn Sie dieselbe PUT-Anforderung mehrmals senden, bleibt das Ergebnis gleich. Wenn Sie dieselbe POST-Anforderung jedoch mehrmals senden, erhalten Sie unterschiedliche Ergebnisse.
  • Die PUT-Methode ist idempotent, während die POST-Methode nicht idempotent ist.

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

Anfrage

PUT /new.html HTTP/1.1Host: example.comContent-type: text/htmlContent-length: 20

New File

Antworten

Wenn die Zielressource eine aktuelle Darstellung hat 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 informieren, indem er eine 201-Code-Antwort (erstellt) sendet.

 HTTP/1.1 201 CreatedContent-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 mit dem Standardinhaltstyp application / x-www-form-urlencoded:

POST /test HTTP/1.1Host: abc.exampleContent-Type: application/x-www-form-urlencodedContent-Length: 40field1=value1&field2=value2

Unterschied zwischen PUT und POST

Hier ist der wichtige Unterschied zwischen der PUT- und der POST-Methode:

STELLEN POST
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 Anforderung für eine eingeschlossene Entität sendet, die in der bereitgestellten Anforderungs-URI gespeichert ist. Diese Methode fordert den Server auf, die Entität zu akzeptieren, die in der Anforderung enthalten ist.
Die Syntax der PUT-Methode lautet PUT / question / {question-id} Die Syntax der POST-Methode lautet POST / Fragen
Die Antwort auf die PUT-Methode kann zwischengespeichert werden. Sie können Antworten auf PUT-Methoden nicht zwischenspeichern.
PUT / vi / Juice / Orders / 1234 zeigt an, dass Sie eine Ressource aktualisieren, die mit "1234" gekennzeichnet ist. POST / vi / Juice / Bestellungen gibt an, dass Sie eine neue Ressource erstellen und eine Kennung zurückgeben, um die Ressource zu beschreiben.
Wenn Sie dieselbe Anfrage mehrmals senden, bleibt das Ergebnis gleich. Wenn Sie dieselbe POST-Anfrage mehrmals senden, erhalten Sie unterschiedliche Ergebnisse.
PUT funktioniert wie spezifisch. POST arbeiten als abstrakt.
Wir verwenden die UPDATE-Abfrage in PUT. Wir verwenden die Erstellungsabfrage im POST.
Bei der PUT-Methode entscheidet der Client, welche URI-Ressource vorhanden sein soll. Bei der POST-Methode entscheidet der Server, welche URI-Ressource vorhanden sein soll.

Testen einer API mit PUT-Anforderungen

Hier sind die Schritte zum Testen der API mit PUT-Anforderungen:

Testen einer API mit PUT-Anforderungen

Schritt 1) Aktualisieren Sie die Ressourcen mit der PUT-Anforderung.

Schritt 2) Verwenden Sie die GET-Methode für die Ressource. Wenn die PUT-Anforderung erfolgreich ist, erhalten Sie neue Daten. Diese Methode schlägt fehl, wenn die in der Anforderung angegebenen Daten ungültig sind. Daher wird nichts aktualisiert.

Testen einer API mit POST-Anforderungen

Hier sind die Schritte zum Testen der API mit POST-Anforderungen:

Testen einer API mit POST-Anforderungen

Schritt 1) Erstellen Sie eine Ressource mithilfe der POST-Anforderung und stellen Sie sicher, dass sie den 200-Statuscode zurückgibt.

Schritt 2) Stellen Sie eine GET-Anforderung für diese Ressource und speichern Sie die Daten im richtigen Format.

Schritt 3) Sie müssen Tests hinzufügen, die sicherstellen, dass POST-Anforderungen mit falschen Daten fehlschlagen.

Vorteile der PUT-Methode

Hier sind die Vor- und Vorteile der Verwendung der PUT-Methode:

  • Es hilft Ihnen, die bereitgestellte Entität unter der angegebenen URI zu speichern
  • Wenn die angegebene Entität bereits vorhanden ist, können Sie den Aktualisierungsvorgang ausführen oder mit diesem URI erstellen.
  • Sie können eine Ressource beliebig oft erstellen.
  • Das Erstellen einer Ressource mit der PUT-Methode ist sehr einfach.
  • Sie müssen nicht überprüfen, ob der Benutzer mehrmals auf die Schaltfläche "Senden" geklickt hat oder nicht.
  • Es kann die der Anforderung beigefügte Entität identifizieren.

Vorteile der POST-Methode

Hier sind die Vor- und 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 Anforderung senden, um die Entität als neuen Untergebenen der Ressource zu akzeptieren, die durch den URI identifiziert wird.
  • Sie können benutzergenerierte Daten an den Webserver senden.
  • Es ist sehr nützlich, wenn Sie keine URL kennen, um eine Ressource zu behalten.
  • Verwenden Sie POST, wenn Sie den Server benötigen, der die URL-Generierung Ihrer Ressourcen steuert.
  • POST ist eine sichere Methode, da seine Anforderungen nicht im Browserverlauf verbleiben.
  • Sie können mühelos eine große Datenmenge per Post übertragen.
  • Sie können die Daten privat halten.
  • Diese Methode kann verwendet werden, um sowohl binäre als auch ASCII-Daten zu senden.