Statuscode 204 No Content

Was bedeutet der Statuscode 204 No Content?

Der Erfolgsstatusantwortcode 204 No Content gibt an, dass die Anforderung erfolgreich war, der Client die aktuelle Seite jedoch nicht verlassen muss. Eine 204-Antwort kann standardmäßig zwischengespeichert werden. Ein ETag-Header ist in einer solchen Antwort enthalten. Der übliche Anwendungsfall besteht darin, den Statuscode 204 als Ergebnis einer PUT-Anforderung zurückzugeben, wobei eine Ressource aktualisiert wird, ohne den aktuellen Inhalt der dem Benutzer angezeigten Seite zu ändern. Die Metadaten in den Antwortkopffeldern beziehen sich auf die Zielressource und ihre ausgewählte Darstellung, nachdem die angeforderte Aktion angewendet wurde.

Beispiele

Wenn beispielsweise ein 204-Statuscode als Antwort auf eine PUT-Anforderung empfangen wird und die Antwort ein ETag-Headerfeld enthält, war die PUT erfolgreich und der ETag-Feldwert enthält dieses Tag für die neue Darstellung dieser Zielressource. Die 204-Antwort ermöglicht es einem Server anzuzeigen, dass die Aktion erfolgreich auf die Zielressource angewendet wurde, während impliziert wird, dass der Benutzeragent nicht von seiner aktuellen “Dokumentenansicht” (falls vorhanden) abweichen muss. Eine 204-Antwort wird durch die erste leere Zeile nach den Header-Feldern beendet, weil sie keinen Nachrichtentext enthalten kann.

Der HTTP-Status 204 No Content gibt an, dass der Server die Anforderung erfolgreich erfüllt hat und dass im Nutzdatenkörper der Antwort kein Inhalt gesendet werden muss. Der Server möchte möglicherweise aktualisierte Metainformationen in Form von Entitätsheadern zurückgeben, die, falls vorhanden, auf die aktive Ansicht des aktuellen Dokuments angewendet werden sollten. Standardmäßig kann die Antwort 204 No Content zwischengespeichert werden. Wenn das Zwischenspeichern überschrieben werden muss, muss die Antwort Cache- bzw. Cache-Header enthalten.

Möchte man weiterhin z. B. den Statuscode 204 in Update-Operationen zurückgeben, in denen die Anfrage groß genug ist, sendet der Benutzeragent die Nutzlast zum Server, um die Ressource zu aktualisieren. Wenn dies erfolgreich war, antwortet der Server mit dem Code 204 No Content, um den Erfolg anzuzeigen, sodass die Clientanwendung ihre Benutzeroberfläche aktualisieren kann, um den Benutzer über den Erfolg zu informieren. Der Code wird auch häufig mit Schnittstellen verwendet, die automatisierte Datenübertragungen erwarten, wie z. B. in verteilten Versionskontrollsystemen.

Lösen des verlorenen Aktualisierungsproblems

Im Status 204 kann der Server auch den HTTP-Header ETag enthalten, damit der Client die clientseitige Ressourcendarstellung überprüfen kann, bevor er auf dem Server eine weitere Aktualisierung vornimmt, um ein Problem mit dem verlorenen Update zu vermeiden. Das Problem mit dem verlorenen Update tritt auf, wenn mehrere Personen eine Ressource ohne Kenntnis der Änderungen des jeweils anderen bearbeiten. ETags können in Kombination mit dem If-Match-Header verwendet werden, damit der Server entscheiden kann, ob eine Ressource aktualisiert werden soll. Wenn der ETag nicht übereinstimmt, informiert der Server den Client über eine 412-Antwort (Vorbedingung fehlgeschlagen).


Sie haben noch Fragen?

Kontaktieren Sie uns

Free Account erstellen


Weitere Inhalte