Der 204 No Content HTTP Status Code zeigt an, dass der Server die Anfrage erfolgreich erfüllt hat und dass es keinen weiteren Inhalt in der Nutzlast der Antwort zu senden gibt. Metadaten in den Antwortkopfzeilen zeigen auf die Ziel-Resource sowie ihre gewählte Repräsentation, nachdem die angeforderte Aktion angewandt wurde.
Wenn beispielsweise ein 204 No Content HTTP Status Code als Antwort auf eine PUT-Anfrage empfangen wird und die Antwort eine ETag Kopfzeile enthält, dann war das PUT erfolgreich und der Wert des ETag enthält den Entity-Tag für die neue Repräsentation der Ziel-Ressource.
Die 204 No Content HTTP Status Code Antwort erlaubt einem Sever anzuzeigen, dass die Aktion erfolgreich auf die Zielressource angewandt wurde und gleichzeitig, dass der Benutzer-Agent nicht von der gerade angezeigten Dokumenten-Ansicht weg-wechseln muss. Der Server nimmt dabei an, dass der Benutzer-Agent entsprechend seiner eigenen UI einen Hinweis auf den Erfolg gegenüber seinem Benutzer anzeigt und neue oder aktualisierte Metadaten aus der Antwort auf seine aktive Repräsentation übernimmt.
Zum Beispiel wird ein 204 No Content üblicherweise mit Dokumentenbearbeitungs-Oberflächen im Sinne einer „Speichern“-Aktion genutzt, so dass das gerade gespeicherte Dokument weiterhin für den Nutzer editierbar bleibt. Der Status Code 204 No Content wird außerdem häufig mit Oberflächen genutzt, in denen häufige, automatisierte Datentransfers gängig sind, wie z.B. in verteilten Versions-Kontroll-Systemen.
Eine 204 No Content Antwort wird beendet durch die erste Leerzeile nach den Antwortkopfzeilen, da sie keine offensichtlich keine Nutzlast enthalten kann.
Eine 204 No Content Antwort kann standardmäßig gecacht werden; d.h. sofern nicht dies durch die Methoden-Definition oder explizite Cache-Kontrollanweisungen modifiziert wird.
Wie kann man den HTTP-Fehler 204 lösen?
Der HTTP-Fehler 204, auch bekannt als “No Content”, ist kein Fehler im eigentlichen Sinne. Stattdessen handelt es sich um einen Statuscode, der vom Server zurückgegeben wird, um anzugeben, dass die Anfrage erfolgreich verarbeitet wurde und es keine weiteren Daten gibt, die zurückgegeben werden müssen.
Ein HTTP 204-Antwort wird häufig verwendet, wenn:
- Eine Anfrage erfolgreich abgeschlossen wurde, aber keine Daten zurückschicken muss (z. B. bei einer DELETE-Anfrage in einer RESTful-API, bei der eine Ressource erfolgreich gelöscht wurde).
- Eine Anfrage abgeschlossen wurde, aber es gibt nichts Neues, um den Client zu aktualisieren (z. B. bei einer GET-Anfrage, bei der keine Änderungen seit der letzten Anfrage vorgenommen wurden).
Da der HTTP-Statuscode 204 normalerweise darauf hinweist, dass die Anfrage erfolgreich war und kein Fehler aufgetreten ist, müssen Sie normalerweise nichts unternehmen, um ihn zu “beheben”. Wenn Sie jedoch erwarten, dass Daten zurückgegeben werden, sollten Sie folgende Schritte ausführen:
- Überprüfen Sie die Anfrage: Stellen Sie sicher, dass die Anfrage korrekt ist und dass Sie die richtige API-Endpunkt-URL, Methode (GET, POST, PUT, DELETE usw.) und Parameter verwenden. Überprüfen Sie die API-Dokumentation, um sicherzustellen, dass Sie die Anfrage korrekt formulieren.
- Überprüfen Sie die Serverlogik: Überprüfen Sie den Servercode, um sicherzustellen, dass die Logik ordnungsgemäß ausgeführt wird und die erwarteten Daten zurückgibt. Stellen Sie sicher, dass der Server nicht versehentlich einen 204-Statuscode anstelle eines anderen Statuscodes zurückgibt.
- Kommunikation zwischen Entwicklerteams: Wenn Sie mit externen APIs arbeiten, kommunizieren Sie mit dem API-Entwicklerteam, um sicherzustellen, dass Sie die API korrekt verwenden. Dies kann dazu beitragen, Missverständnisse über die erwarteten Daten und deren Format zu klären.
In den meisten Fällen deutet ein HTTP 204-Statuscode darauf hin, dass die Anfrage erfolgreich verarbeitet wurde und dass kein Fehler aufgetreten ist. Wenn Sie jedoch erwarten, dass Daten zurückgegeben werden, sollten Sie die oben genannten Schritte ausführen, um mögliche Probleme zu identifizieren und zu beheben.