HTTP-Anfragen sind das Rückgrat der modernen Webentwicklung. Sie ermöglichen es uns, mit APIs zu interagieren und Daten von Servern abzurufen. Zwei der am häufigsten verwendeten HTTP-Anfragen sind PUT und PATCH. In diesem Blogbeitrag werden wir die Unterschiede zwischen diesen beiden Anfragen untersuchen und wann sie verwendet werden sollten.
Was ist eine API?
Bevor wir uns mit den Unterschieden zwischen PUT und PATCH befassen, wollen wir zunächst definieren, was eine API ist. Eine API steht für Application Programming Interface (Anwendungsprogrammierschnittstelle). Es ist eine Reihe definierter Regeln, die es verschiedenen Anwendungen ermöglichen, miteinander zu kommunizieren. APIs fungieren als Vermittlungsschicht, die Datentransfers zwischen Systemen verarbeitet und es Unternehmen ermöglicht, ihre Anwendungsdaten und -funktionen für externe Drittentwickler, Geschäftspartner und interne Abteilungen innerhalb ihrer Unternehmen zu öffnen.
Die Definitionen und Protokolle innerhalb einer API helfen Unternehmen, die vielen verschiedenen Anwendungen, die sie im Tagesgeschäft verwenden, zu verbinden, was den Mitarbeitern Zeit spart und Silos aufbricht, die die Zusammenarbeit und Innovation behindern. Für Entwickler bietet die API-Dokumentation die Schnittstelle für die Kommunikation zwischen Anwendungen und vereinfacht so die Anwendungsintegration. APIs werden verwendet, um die Lücken zwischen kleinen, diskreten Code-Chunks zu schließen, um Anwendungen zu erstellen, die leistungsstark, belastbar, sicher sind und den Benutzeranforderungen entsprechen.
Überblick über HTTP-Methoden?
HTTP (Hypertext Transfer Protocol) ist ein Anwendungsprotokoll, das zur Übertragung von Hypermedia-Dokumenten, wie z. B. HTML, über das Internet verwendet wird. Es erleichtert die Kommunikation zwischen Webbrowsern und Webservern, kann aber auch für andere Zwecke verwendet werden. HTTP arbeitet als Client-Server-Protokoll, wobei Anfragen typischerweise vom Empfänger, in der Regel dem Webbrowser, initiiert werden. Das vollständige Dokument wird aus verschiedenen abgerufenen Unterdokumenten rekonstruiert, darunter Text, Layoutbeschreibung, Bilder, Videos, Skripte und mehr.
Clients und Server kommunizieren durch den Austausch einzelner Nachrichten (anstelle eines kontinuierlichen Datenstroms). Die vom Client (normalerweise ein Webbrowser) gesendeten Nachrichten werden als Anfragen bezeichnet, und die vom Server als Antwort gesendeten Nachrichten werden als Antworten bezeichnet. HTTP ist ein erweiterbares Protokoll, das sich im Laufe der Zeit weiterentwickelt hat und über TCP oder über eine TLS-verschlüsselte TCP-Verbindung gesendet wird. Aufgrund seiner Erweiterbarkeit wird es nicht nur zum Abrufen von Hypertext-Dokumenten verwendet, sondern auch zum Abrufen von Bildern und Videos oder zum Posten von Inhalten auf Servern, z. B. mit HTML-Formularergebnissen. Darüber hinaus kann HTTP verwendet werden, um Teile von Dokumenten abzurufen, um Webseiten bei Bedarf zu aktualisieren.
Einführung in HTTP PUT
HTTP PUT ist eine HTTP-Methode, die verwendet wird, um eine neue Ressource zu erstellen oder eine Darstellung der Zielressource zu überschreiben, die dem Client bekannt ist. Sie ähnelt der HTTP-POST-Methode, die zum Hinzufügen einer Ressource auf dem Server verwendet wird.

Im Gegensatz zu POST ist PUT jedoch idempotent, was bedeutet, dass der Aufruf einmal oder mehrmals hintereinander die gleiche Wirkung hat (d. h. keine Nebenwirkung). Wenn sich der Request-URI auf eine bereits vorhandene Ressource bezieht, sollte die eingeschlossene Entität als eine modifizierte Version der auf dem Ursprungsserver befindlichen Ressource betrachtet werden.
Verständnis von HTTP PATCH
HTTP PATCH ist eine Anfragemethode, die verwendet wird, um partielle Änderungen an einer vorhandenen Ressource vorzunehmen. Sie ähnelt der HTTP-PUT-Methode, die verwendet wird, um eine neue Ressource zu erstellen oder eine Darstellung der Zielressource zu überschreiben, die dem Client bekannt ist. Im Gegensatz zu PUT wird PATCH jedoch verwendet, um nur einen Teil der Ressource zu ändern, während PUT die gesamte Ressource ersetzt.

Die PATCH-Methode stellt eine Entität bereit, die eine Liste von Änderungen enthält, die auf die mit dem HTTP Uniform Resource Identifier (URI) angeforderte Ressource angewendet werden sollen. Die Liste der Änderungen wird in Form eines PATCH-Dokuments bereitgestellt. Die PATCH-Methode wird verwendet, um Ressourcen mit partiellen JSON-Daten zu aktualisieren.
Wann HTTP PUT verwenden?
HTTP PUT wird verwendet, um eine neue Ressource zu erstellen oder eine Darstellung der Zielressource zu überschreiben, die dem Client bekannt ist. Es eignet sich für Szenarien, in denen Sie die vollständige Kontrolle über den Ressourcenersatz haben.
Der Unterschied zwischen HTTP PUT und HTTP POST besteht darin, dass PUT idempotent ist, was bedeutet, dass der Aufruf einmal oder mehrmals hintereinander die gleiche Wirkung hat (d. h. keine Nebenwirkung). Wenn sich der Request-URI auf eine bereits vorhandene Ressource bezieht, sollte die eingeschlossene Entität als eine modifizierte Version der auf dem Ursprungsserver befindlichen Ressource betrachtet werden.

HTTP PUT wird am besten verwendet, wenn Sie eine vorhandene Ressource vollständig durch neue Daten ersetzen möchten. Wenn Sie beispielsweise ein Benutzerprofil haben, das mehrere Felder wie Name, E-Mail und Telefonnummer enthält, und Sie alle diese Felder gleichzeitig aktualisieren möchten, würden Sie eine PUT-Anfrage verwenden.
Hier ist ein Beispiel dafür, wie Sie eine HTTP PUT-Anfrage verwenden könnten, um den Inhalt einer vorhandenen Datei auf einem Server zu aktualisieren:
PUT /example.html HTTP/1.1
Host: sample.com
Content-Type: text/html
Content-Length: 20
<p>Updated File</p>
In diesem Beispiel wird die PUT-Anfrage an die Ressource unter /example.html
gesendet. Der Header Content-Type
gibt an, dass der Anfragetext im HTML-Format vorliegt. Der Header Content-Length
gibt die Größe des Anfragetextes an, die in diesem Fall 20 Byte beträgt. Der Anfragetext enthält den neuen Inhalt für die Datei, der ein einfaches HTML-Paragraph-Element mit dem Text „Updated File“ ist. Wenn die Datei existiert und der Server die Anfrage erfolgreich verarbeitet, ersetzt er den Inhalt von example.html
durch den neuen Inhalt, der im Anfragetext bereitgestellt wird.‘’
Wann HTTP PATCH verwenden?
HTTP PATCH wird verwendet, um partielle Änderungen an einer vorhandenen Ressource vorzunehmen. Es eignet sich für Szenarien, in denen Sie nur einen Teil der Ressource aktualisieren müssen, während PUT die gesamte Ressource ersetzt.
Wenn Sie beispielsweise ein einzelnes Feld der Ressource aktualisieren, kann das Senden der vollständigen Ressourcendarstellung umständlich sein und viel unnötige Bandbreite verbrauchen. Eine PATCH-Anfrage wird als eine Reihe von Anweisungen zur Änderung einer Ressource betrachtet.
HTTP PATCH wird am besten verwendet, wenn Sie ein einzelnes Feld oder ein paar Felder in einer vorhandenen Ressource aktualisieren möchten. Wenn Sie beispielsweise ein Benutzerprofil haben, das mehrere Felder wie Name, E-Mail und Telefonnummer enthält, und Sie nur das E-Mail-Feld aktualisieren möchten, würden Sie eine PATCH-Anfrage verwenden.
Hier ist ein Beispiel dafür, wie Sie eine HTTP PATCH-Anfrage verwenden könnten, um die E-Mail-Adresse eines Benutzers in einem System zu aktualisieren:
PATCH /api/users/123 HTTP/1.1
Host: www.example.com
Content-Type: application/json
If-Match: "e0023aa4e"
{
"email": "newemail@example.com"
}
In diesem Beispiel wird die PATCH-Anfrage an die Ressource unter /api/users/123
gesendet. Der Header Content-Type
gibt an, dass der Anfragetext im JSON-Format vorliegt. Der Header If-Match
wird verwendet, um sicherzustellen, dass die Aktualisierung nur angewendet wird, wenn das eTag
(ein Versionsbezeichner für die Ressource) mit dem bereitgestellten übereinstimmt. Der Anfragetext enthält die Änderung, die angewendet werden soll, in diesem Fall eine Aktualisierung der E-Mail-Adresse des Benutzers. Der Server würde dann diese Anfrage verarbeiten und die Aktualisierung auf die Benutzerinformationen anwenden. Bei Erfolg könnte der Server mit einem Statuscode 200 OK
antworten und möglicherweise die aktualisierte Ressource im Antworttext enthalten.
Unterschiede zwischen HTTP PUT und PATCH
HTTP PUT und HTTP PATCH sind beides HTTP-Methoden, die zum Ändern von Ressourcen verwendet werden, aber sie unterscheiden sich darin, wie sie die Ressource aktualisieren.

HTTP PUT wird verwendet, um eine neue Ressource zu erstellen oder eine Darstellung der Zielressource zu überschreiben, die dem Client bekannt ist. Es eignet sich für Szenarien, in denen Sie die vollständige Kontrolle über den Ressourcenersatz haben. Wenn sich der Request-URI auf eine bereits vorhandene Ressource bezieht, sollte die eingeschlossene Entität als eine modifizierte Version der auf dem Ursprungsserver befindlichen Ressource betrachtet werden.
HTTP PATCH wird verwendet, um partielle Änderungen an einer vorhandenen Ressource vorzunehmen. Es eignet sich für Szenarien, in denen Sie nur einen Teil der Ressource aktualisieren müssen, während PUT die gesamte Ressource ersetzt. Die PATCH-Methode stellt eine Entität bereit, die eine Liste von Änderungen enthält, die auf die mit dem HTTP Uniform Resource Identifier (URI) angeforderte Ressource angewendet werden sollen. Die Liste der Änderungen wird in Form eines PATCH-Dokuments bereitgestellt.
Der Hauptunterschied zwischen HTTP PUT und PATCH ist die Datenmenge, die in der Anfrage gesendet wird. PUT sendet die gesamte Ressource, während PATCH nur die Felder sendet, die aktualisiert werden. Dies bedeutet, dass PUT-Anfragen in Bezug auf Bandbreite und Rechenleistung teurer sind als PATCH-Anfragen.
Vorteile von HTTP PUT
HTTP PUT ist eine Anfragemethode, mit der eine vorhandene Ressource auf dem Server aktualisiert oder ersetzt wird. Einige der Vorteile der Verwendung von HTTP PUT sind:
- Idempotenz: HTTP PUT ist eine idempotente Methode, was bedeutet, dass dieselbe Anfrage mehrmals gestellt werden kann, ohne Nebenwirkungen zu verursachen.
- Atomarität: HTTP PUT ist ein atomarer Vorgang, was bedeutet, dass er entweder vollständig erfolgreich ist oder vollständig fehlschlägt. Dies macht es nützlich für die Aktualisierung von Ressourcen, die mehrere Felder haben.
- Einheitliche Schnittstelle: HTTP PUT folgt der Einschränkung der einheitlichen Schnittstelle von RESTful-Webdiensten, wodurch es einfach zu verwenden und zu verstehen ist.
- Caching: HTTP PUT-Anfragen können von Vermittlern wie Proxys zwischengespeichert werden, was dazu beitragen kann, den Netzwerkverkehr zu reduzieren und die Leistung zu verbessern.
Vorteile von HTTP PATCH
Die PATCH-Methode in HTTP wird verwendet, um eine Ressource auf dem Server teilweise zu aktualisieren. Sie ermöglicht es Ihnen, nur die Daten zu senden, die aktualisiert werden müssen, anstatt die gesamte Ressource zu senden. Dies kann in Situationen von Vorteil sein, in denen Sie kleine, spezifische Änderungen an einer Ressource vornehmen möchten, ohne die gesamte Ressource erneut senden zu müssen.
Vorteile der Verwendung der HTTP PATCH-Methode sind:
- Effizienz: PATCH ermöglicht eine effizientere Nutzung von Netzwerkressourcen, indem nur die Änderungen gesendet werden, die vorgenommen werden müssen, wodurch die Menge der übertragenen Daten reduziert wird.
- Partielle Aktualisierungen: PATCH ermöglicht es Ihnen, bestimmte Teile einer Ressource zu aktualisieren, ohne den Rest der Ressource zu beeinträchtigen, wodurch eine granulare Kontrolle über Aktualisierungen bereitgestellt wird.
- Idempotent: Bei ordnungsgemäßer Verwendung sind PATCH-Anfragen idempotent, was bedeutet, dass mehrere identische Anfragen das gleiche Ergebnis wie eine einzelne Anfrage erzeugen, wodurch das Risiko unbeabsichtigter Nebenwirkungen verringert wird.
Diese Vorteile machen HTTP PATCH besonders nützlich für bestimmte Anwendungsfälle, in denen nur eine Teilmenge der Ressourcendaten aktualisiert werden muss.
So verwenden Sie Apidog, um Anfragen mit HTTP PUT und HTTP PATCH zu senden
Apidog ist eine integrierte Kollaborationsplattform, die den Prozess der Arbeit mit APIs rationalisieren soll. Es kombiniert Funktionen von Tools wie Postman, Swagger, Mock und JMeter, um eine umfassende Lösung für API-Dokumentation, Debugging, Mocking und automatisiertes Testen bereitzustellen.
Mit Apidog können Sie HTTP-Anfragen senden, um Ihre APIs zu testen und zu debuggen, ohne sie neu definieren zu müssen, wenn sie bereits dokumentiert sind. Die Verwendung von Apidog zum Senden von PUT- und PATCH-Anfragen umfasst ein paar Schritte.
Senden einer HTTP PUT-Anfrage mit Apidog
Um eine HTTP PUT-Anfrage mit Apidog zu senden, können Sie diese Schritte ausführen:
- Apidog öffnen: Beginnen Sie damit, Apidog zu öffnen und eine neue Anfrage zu erstellen.

2. Geben Sie die HTTP-Methode an: Wählen Sie PUT als HTTP-Methode für Ihre Anfrage.

3. Geben Sie die URL ein: Geben Sie die URL der Ressource ein, die Sie aktualisieren möchten, fügen Sie alle erforderlichen Header wie Content-Type
oder Authorization
hinzu und fügen Sie die Daten hinzu, die Sie im Anfragetext senden möchten. Sie können den Parameter json
verwenden, um JSON-Daten zu senden, oder den Parameter data
, um formularcodierte Daten zu senden.

4. Senden Sie die Anfrage: Sobald Sie Ihre Anfrage eingerichtet haben, senden Sie sie an den Server.

Überprüfen Sie die Antwort des Servers auf Ihre PUT-Anfrage und gehen Sie entsprechend damit um.
Durch die Verwendung von Apidog können Sie die Datenkonsistenz über verschiedene Systeme hinweg aufrechterhalten und sicherstellen, dass Ihre API-Entwicklung in strikter Übereinstimmung mit Ihrer API-Dokumentation erfolgt, was zu einer effektiveren Zusammenarbeit und weniger Inkonsistenzen führt.
Senden einer HTTP PATCH-Anfrage mit Apidog
- Apidog öffnen: Starten Sie die Apidog-Anwendung und beginnen Sie mit dem Erstellen einer neuen Anfrage innerhalb der Anwendung.

2. Wählen Sie die HTTP-Methode aus: Wählen Sie PATCH
aus der Liste der HTTP-Methoden aus.

3. Geben Sie die URL ein: Geben Sie die Endpunkt-URL ein, an die Sie die PATCH-Anfrage senden möchten, fügen Sie bei Bedarf Header hinzu und fügen Sie im Anfragetext die Daten ein, die Sie teilweise aktualisieren möchten.
Führen Sie die Anfrage aus und warten Sie auf die Antwort vom Server.

Analysieren Sie die Antwort des Servers, um sicherzustellen, dass die PATCH-Anfrage erfolgreich war.
Best Practices für die Verwendung von HTTP PUT- und HTTP PATCH-Anfragen
Bei der Arbeit mit HTTP-Methoden wie PUT und PATCH ist es wichtig, Best Practices zu befolgen, um sicherzustellen, dass Ihre API zuverlässig, effizient und einfach zu verwenden ist. Hier sind einige Best Practices für die Verwendung von PUT- und PATCH-Anfragen:
Best Practices für die Verwendung von HTTP PUT-Anfragen
- Verwenden Sie PUT für vollständige Aktualisierungen: PUT sollte verwendet werden, wenn Sie eine Ressource vollständig aktualisieren möchten. Es ersetzt die gesamte Ressource durch die im Anfragetext bereitgestellte Nutzlast.
- Idempotenz sicherstellen: PUT-Anfragen sollten idempotent sein, was bedeutet, dass das Stellen mehrerer identischer Anfragen die gleiche Wirkung haben sollte wie das Stellen einer einzelnen Anfrage.
- Ressource in URL einbeziehen: Die URL sollte den Bezeichner der zu aktualisierenden Ressource enthalten.
Best Practices für die Verwendung von HTTP PATCH-Anfragen
- Verwenden Sie PATCH für partielle Aktualisierungen: PATCH sollte für partielle Aktualisierungen verwendet werden, d. h. wenn Sie nur bestimmte Felder einer Ressource aktualisieren müssen.
- Nicht-Idempotenz angemessen behandeln: PATCH-Anfragen müssen nicht idempotent sein. Wenn Ihre Implementierung idempotent ist, sollte sie sich entsprechend verhalten.
- Ein Delta-Format verwenden: Senden Sie nur die Änderungen (das Delta), die Sie auf die Ressource anwenden möchten, anstatt die vollständige Ressource.
Allgemeine Best Practices für die Verwendung von HTTP PUT und HTTP PATCH
- Eingabe validieren: Validieren Sie immer die Eingabedaten für PUT- und PATCH-Anfragen, um ungültige Datenaktualisierungen zu verhindern.
- Verwenden Sie ETags für die Parallelitätskontrolle: Implementieren Sie ETags, um gleichzeitige Aktualisierungen zu verarbeiten und das Problem des „verlorenen Updates“ zu vermeiden.
- Geben Sie geeignete Statuscodes zurück: Verwenden Sie HTTP-Statuscodes korrekt, um das Ergebnis der Anfrage anzugeben (z. B. 200 OK, 204 No Content, 400 Bad Request).
- Dokumentieren Sie Ihre API: Dokumentieren Sie das erwartete Verhalten Ihrer PUT- und PATCH-Endpunkte eindeutig, einschließlich erforderlicher Felder und Validierungsregeln.
Fazit
Zusammenfassend lässt sich sagen, dass HTTP PUT und PATCH beides wichtige HTTP-Anfragen sind, die zum Aktualisieren von Ressourcen auf einem Server verwendet werden. PUT wird am besten verwendet, wenn Sie eine vorhandene Ressource vollständig durch neue Daten ersetzen möchten, während PATCH am besten verwendet wird, wenn Sie ein einzelnes Feld oder ein paar Felder in einer vorhandenen Ressource aktualisieren möchten. Beide Anfragen haben ihre Vor- und Nachteile, und die Wahl zwischen ihnen hängt vom jeweiligen Anwendungsfall ab.
Mit Apidog haben Sie die Möglichkeit, Ihre HTTP-Anfragen mühelos zu senden, um Ihre APIs zu testen und zu debuggen.