Statuscode 204 (Kein Inhalt): Was es ist, wie es funktioniert und wann es zu verwenden ist?
Dieses Tutorial behandelt die folgenden Themen:
Der Statuscode 204 ist einer der vielen HTTP-Statuscodes, die dafür sorgen, dass das Internet reibungslos läuft. Er bedeutet, dass der Server die Anfrage erfolgreich abgeschlossen hat, ähnlich wie der Statuscode 200 OK. Beim Status 204 Kein Inhalt gibt es jedoch keinen zusätzlichen Inhalt im Antworttext, der dem Benutzer angezeigt werden könnte. Dieser Statuscode wird für Vorgänge verwendet, die im Hintergrund ablaufen.
Was genau bedeutet der Status „204 Kein Inhalt“? Wie und wann sollten Sie ihn verwenden? Welche potenziellen Probleme können auftreten? Diese Fragen beantworten wir hier, also lesen Sie weiter.
Mit anderen Worten: Der Server hat ausgeführt, was verlangt wurde, aber es gibt nichts Neues oder eine bestimmte Zielressource anzuzeigen. Dies ist nützlich für Aktionen wie das Senden von Formularen oder AJAX-Anfragen, bei denen der Client nicht von der aktuellen Seite weg navigieren muss.
Die HTTP-Antwort enthält Entity-Header, aber keinen Body-Inhalt. Das macht deutlich, dass keine weiteren Informationen erforderlich sind. In der Praxis beginnt die Antwort mit dem HTTP-Status, es folgen Header und sie endet standardmäßig nach der ersten leeren Zeile.
Wie funktioniert der HTTP-Statuscode 204?
Haben Sie schon einmal eine Anfrage online gestellt und dabei festgestellt, dass sich auf Ihrem Bildschirm nichts geändert hat? Das liegt am HTTP-Status 204. Er sagt Ihnen, dass der Server Ihre Anfrage akzeptiert und einwandfrei verarbeitet hat, aber es gibt keine neuen Informationen anzuzeigen.
Lassen Sie uns aufschlüsseln, wie dies funktioniert und warum es so nützlich ist, um einen reibungslosen Ablauf ohne unnötige Updates aufrechtzuerhalten.
Hier ist eine Aufschlüsselung der obigen Grafik:
- Die Client–Anwendung (z. B. ein Webbrowser oder ein API-Client) sendet eine Anfrage an den Server.
- Der Server empfängt die Anfrage und verarbeitet sie. Dazu gehört das Aktualisieren eines Datenbankeintrags oder das Löschen einer Datei.
- Sobald der Server die angeforderte Aktion erfolgreich verarbeitet hat, bereitet er eine Antwort vor. Wenn für die Aktion keine neuen Informationen zurückgesendet werden müssen, entscheidet sich der Server für den Statuscode 204.
- Der Server sendet eine Antwort mit dem Statuscode 204 zurück und gibt damit an, dass die Anfrage erfolgreich war, aber es gibt keinen Inhalt zurückzugeben. Die Antwort enthält die Statuszeile und HTTP-Header, aber keinen Textinhalt.
- Der Benutzeragent erhält die Antwort „204 Kein Inhalt“. Da kein Inhalt vorhanden ist, muss der Client die aktuelle Seite nicht aktualisieren oder neue Informationen anzeigen.
- Der Client bleibt auf derselben Seite oder setzt seinen aktuellen Vorgang ohne Unterbrechung fort.
Was ist der Unterschied zwischen 200 und 204 Antworten?
Die HTTP-Statuscodes 200 und 204 signalisieren beide, dass eine Anfrage erfolgreich verarbeitet wurde, aber sie tun dies auf unterschiedliche Weise.
Ein 200-Statuscode wird als „OK“ bezeichnet. Dies bedeutet, dass der Server die Anfrage bearbeitet hat und den angeforderten Inhalt, z. B. eine Webseite oder Daten, zurücksendet. Dies ist die Standardantwort für die meisten erfolgreichen Anfragen, bei denen der Client Daten empfangen muss.
Andererseits bedeutet 204 Kein Inhalt” auch, dass die Anfrage erfolgreich verarbeitet wurde, aber keine neue Inhaltsantwort zurückgesendet werden kann. Stellen Sie sich das so vor, als ob der Server eine gültige Antwort gibt, ohne etwas zu sagen.
Dies ist praktisch für Aktionen, bei denen der Benutzeragent die aktuelle Seite nicht aktualisieren muss, z. B. wenn Sie ein Formular übermitteln oder eine AJAX-Anfrage stellen. Der Client bleibt an Ort und Stelle und alles läuft reibungslos weiter, ohne dass unnötige Datenübertragungen stattfinden.
204 Antwortnutzlasttext und Cachefähigkeit
Um zu verstehen, wie der HTTP-Statuscode 204 funktioniert, müssen wir auf zwei wichtige Punkte eingehen: den Antwort-Nutzlasttext und die Cachefähigkeit. Diese Konzepte fördern die Geschwindigkeit und Effizienz der Website.
Lassen Sie uns sie genauer untersuchen.
Das Konzept des Antwort-Nutzlastkörpers (Definition)
Der Payload-Body ist der Teil einer HTTP-Antwort, der die eigentlichen Daten enthält, die vom Server zurückgesendet werden (Text, Bilder usw.). Bei einem 204-Status sieht die Sache jedoch etwas anders aus.
Mit dem Statuscode 204 informiert der Server den Benutzeragenten, dass kein Inhalt im Antworttext zurückgegeben werden kann. Die Antwort enthält jedoch weiterhin Header. Diese enthalten zusätzliche Informationen wie Datum, Serverdetails und Verbindungsstatus.
Dies ist praktisch für Aktionen, bei denen der Client die Seite nicht aktualisieren oder neue Informationen anzeigen muss, etwa wenn Sie ein Formular übermitteln.
Wie Cachefähigkeit auf den Statuscode 204 angewendet wird
Cachefähigkeit bezeichnet die Fähigkeit, Antworten zu speichern, damit sie später wiederverwendet werden können. Dadurch wird die Notwendigkeit verringert, den Server erneut nach denselben Informationen zu fragen.
Da eine 204-Antwort keinen Inhalt hat, gibt es auch nichts zu speichern. Die Header können aber trotzdem zwischengespeichert werden. Der Server kann spezielle Anweisungen in die HTTP-Header aufnehmen, um dem Client mitzuteilen, wie er mit dem Zwischenspeichern umgehen soll.
Beispielsweise bedeutet Cache-Control: no-store, dass diese Antwort nicht gespeichert wird. Cache-Control: max-age=3600 hingegen bedeutet, dass sie eine Stunde lang gespeichert wird.
Hier ist ein Beispiel für eine 204-Antwort mit Cache-Control-Headern:
HTTP/1.1 204 No Content
Date: Mon, 25 Sep 2023 12:34:56 GMT
Server: Apache/2.4.41 (Ubuntu)
Cache-Control: max-age=3600
Connection: keep-alive
Auf diese Weise kann der Client schnell feststellen, dass keine weiteren Daten vorhanden sind, ohne den Server erneut nachzufragen, was die Dinge beschleunigt.
Beispiele für HTTP 204-Statuscodes
Der HTTP-Statuscode 204 ist flexibel und kann zur Verbesserung der Webinteraktionen in verschiedenen Szenarien angewendet werden.
Im Folgenden gehen wir nur auf einige Beispiele aus der Praxis ein, in denen der Statuscode 204 häufig verwendet wird.
- AJAX-Anfragen
Ein gängiges Beispiel für die Verwendung von 204 sind einige AJAX-Anfragen. Wenn Sie Ihren Benutzernamen auf einer Website ändern, sendet diese eine AJAX-Anfrage an den Server, um Ihr Profil zu aktualisieren. Der Server verarbeitet die Aktionsanfrage und sendet eine 204-Antwort, um zu bestätigen, dass sie erfolgreich ausgeführt wurde. Anschließend zeigt der Benutzeragent (Ihr Browser) denneuen Benutzernamen an, ohne die Seite neu zu laden oder zusätzliche Informationen zurückzusenden.
- Formulareinreichungen
Ein weiteres häufig gesehenes Beispiel ist die Verwendung einer 204-Antwort bei der Formularübermittlung. Sie klicken auf „Senden“, wenn Sie eine Online-Umfrage oder ein Feedback-Formular ausfüllen möchten. Dadurch wird eine POST-Anfrage an den Server gesendet, der zur Bestätigung eine 204-Antwort zurückgibt. Das Formular bleibt auf derselben Seite und zeigt möglicherweise eine „Danke“-Nachricht über JavaScript an.
- Automatisierte Datenübertragungen
Angenommen, Sie besuchen die Website eines Wetterdienstes. Der Wetterdienst sendet stündlich automatisch Temperaturdaten per POST-Anfrage an einen zentralen Server. Der Server verarbeitet die Daten und bestätigt den Empfang mit einem Statuscode 204, ohne weitere Informationen zurückzusenden.
- Verteilte Versionskontrollsysteme (DVCS)
Wenn wir uns GITHub ansehen, können wir ein weiteres Beispiel für die Verwendung des Antwortcodes 204 sehen. Wenn ein Entwickler Änderungen an ein Remote-Repository pusht, verarbeitet der Server die Änderungen. Nachdem der Server die Anfrage erfolgreich erfüllt hat, kann er einen 204-Status zurückgeben, um den Push zu bestätigen, ohne zusätzliche Daten zurückzugeben.
Hier ist ein einfaches Beispiel für den Statuscode 204 und die Headerfelder auf der Registerkarte „Netzwerk“ der Chrome Developer Console:
HTTP/1.1 204 No Content
Date: Mon, 25 Sep 2023 12:34:56 GMT
Server: Apache/2.4.41 (Ubuntu)
Connection: keep-alive
In diesem Beispiel enthält die Antwort die Statuszeile (HTTP/1.1 204 Kein Inhalt) und Headerfelder für Datum, Server und Verbindung, aber es gibt keinen Textinhalt.
Wann sollte ein 204-Statuscode verwendet werden?
Der HTTP-Statuscode „204 Kein Inhalt“ ist ein nützliches Tool für Webentwickler und API-Designer. Dieser spezielle Status aus den HTTP-Statuscodes zeigt an, dass der Server die Anfrage erfolgreich empfangen hat, aber keinen Inhalt zurückgibt. Dieser Statuscode ist in Szenarien nützlich, in denen der Client die aktuelle Benutzerressourcenseite nicht aktualisieren oder neue Informationen anzeigen muss.
Die Vorteile eines 204-Statuscodes
Hier untersuchen wir die Vorteile und potenziellen Fallstricke der Implementierung des Status „204 Kein Inhalt“ in Ihrer Infrastruktur.
Effizienz bei der Datenübertragung
Einer der Hauptvorteile der Verwendung des HTTP-Status 204 ist die Effizienz bei der Datenübertragung. Der Server spart Bandbreite und reduziert die über das Netzwerk übertragene Datenmenge, indem er keinen Nachrichtentext sendet. Dies ist insbesondere bei Anwendungen nützlich, die automatisierte Datenübertragungen erwarten, wie etwa bei Echtzeit-Datenaktualisierungen oder Hintergrundsynchronisierungsaufgaben.
Klarheit in der Client-Server-Kommunikation
Der Statuscode 204 sorgt für Klarheit bei der Client-Server-Kommunikation. Er zeigt dem Client eindeutig an, dass keine neuen Informationen zu verarbeiten oder anzuzeigen sind. Dies kann Verwirrung vermeiden und sicherstellen, dass der Client versteht, dass die Anfrage erfolgreich war, aber keine zusätzlichen Daten benötigt werden.
Leistungsverbesserungen
Die Reduzierung der gesendeten Datenmenge kann zu schnelleren Reaktionszeiten führen, was für leistungssensible Anwendungen entscheidend ist. Mit einer 204 No Content-Antwort kann der Server die Anfrage schnell bestätigen, ohne dass der Aufwand für die Generierung und Übertragung eines Antworttexts entsteht. Dies kann zu einer reaktionsschnelleren und effizienteren Anwendung führen, insbesondere in Szenarien, in denen eine geringe Latenz wichtig ist.
Potenzielle Fallstricke des Antwortcodes 204
In diesem Teil geben wir einen Überblick über einige der potenziellen Probleme, die im Zusammenhang mit dem Status „204 Kein Inhalt“ auftreten können.
Missbrauch des Statuscodes 204
Obwohl der Statuscode 204 nützlich ist, kann er missbraucht werden, wenn er nicht richtig angewendet wird. Wenn der Client beispielsweise einen Statuscode 204 verwendet, während er einen Antworttext erwartet, kann dies zu Verwirrung und Fehlern führen. Es ist wichtig sicherzustellen, dass der Client keine zusätzlichen Informationen benötigt, bevor Sie sich für die Verwendung eines Statuscodes 204 entscheiden. Missbrauch kann zu unvollständigen Transaktionen oder einem Mangel an erforderlichem Feedback an den Client führen.
Clientseitige Verarbeitung von 204-Antworten
Eine weitere potenzielle Falle ist die clientseitige Verarbeitung von 204-Antworten. Nicht alle Clients sind möglicherweise darauf vorbereitet, einen 204-Statuscode richtig zu verarbeiten. Entwickler müssen sicherstellen, dass ihre Clientanwendungen einen 204-Statuscode richtig interpretieren und darauf reagieren können. Dazu gehört die Aktualisierung der clientseitigen Logik, um zu erkennen, dass eine 204-Antwort bedeutet, dass die Anforderung erfolgreich war, aber keine weiteren Maßnahmen erforderlich sind. Eine fehlerhafte Verarbeitung von 204-Antworten kann zu unerwartetem Verhalten oder Fehlern in der Anwendung führen.
Auswirkungen des Statuscodes 204 auf SEO
Suchmaschinen wie Google verlassen sich beim Indexieren und Ranking von Seiten auf Inhalte. Der Statuscode 204 bedeutet, dass für die Suchmaschine kein Inhalt zum Indexieren vorhanden ist. Dies kann dazu führen, dass die Seite nicht in den Suchergebnissen enthalten ist. Dies ist nicht unbedingt ein Problem, wenn die Seite nicht indexiert werden soll, aber Sie sollten sich dessen bewusst sein.
Daher kann eine übermäßige Verwendung des HTTP-Status 204 zu einer ineffizienten Nutzung des Crawl-Budgets für nicht indexierbare Seiten führen. Achten Sie bei Seiten, die indexiert und bewertet werden sollen, darauf, dass sie den Statuscode 200 OK zurückgeben und Inhalte enthalten.
Wie ist die Browserkompatibilität des HTTP-Statuscodes 204?
HTTP 204 wird von den meisten modernen Browsern vollständig unterstützt. Diese umfassende Kompatibilität macht es zu einer zuverlässigen Wahl für Szenarien, in denen der Server eine erfolgreiche Anfrage bestätigen muss, ohne Inhalte zurückzugeben.
Zur besseren Übersichtlichkeit und Verständlichkeit verwenden wir die folgende Tabelle.
Browsername | Browserkompatibilität des HTTP-Statuscodes 204 |
---|---|
Chrome | JA |
Firefox | JA |
Internet Explorer | JA |
Opera | JA |
Safari | JA |
WebView Android | JA |
Chrome Android | JA |
Firefox for Android | JA |
Fazit
Der HTTP-Statuscode 204 hilft dabei, Webanwendungen schneller zu machen, indem er Anfragen verarbeitet, ohne zusätzliche Daten zu senden. Er spart Bandbreite, macht die Kommunikation klarer und beschleunigt die Reaktionszeiten. Es ist jedoch wichtig, ihn richtig zu verwenden, um Probleme zu vermeiden, insbesondere bei SEO und der Art und Weise, wie Kunden damit umgehen. Wenn Sie wissen, wann Sie den Statuscode 204 verwenden müssen, kann dies die Benutzererfahrung verbessern und automatisierte Datenübertragungen reibungsloser gestalten.
FAQ – Häufig gestellte Fragen zum HTTP-Statuscode 204
Ist 204 ein Erfolg oder ein Misserfolg?
Der HTTP-Statuscode 204 ist definitiv ein Erfolg. Er zeigt an, dass der Server die Anfrage erfolgreich verarbeitet hat, aber keinen Inhalt zurückgeben kann. Wenn während der Verarbeitung der Anfrage Probleme oder Fehler aufgetreten sind, gibt der Server einen anderen Statuscode zurück. Solche Statuscodes können ein 4xx-Code für Client-Fehler (400, 401, 404) oder ein 5xx-Code für Server-Fehler (500, 503, 504) sein. Wenn Sie also einen Statuscode 204 sehen, können Sie sicher sein, dass die Anfrage erfolgreich bearbeitet wurde.
Wie man den Statuscode 204 beheben kann?
Wenn Sie Probleme mit Ihrem 204-Kein-Inhalt-Status haben, müssen Sie überprüfen, ob Ihre Anfrage korrekt ist. Stellen Sie außerdem sicher, dass Ihr Server richtig konfiguriert ist und dass der Code auf der Benutzeragentseite mit 204-Antworten kompatibel ist.
Was ist der Statuscode 204 in Google Analytics?
In Google Analytics 4 bedeutet ein Statuscode 204, dass eine Tracking-Anfrage empfangen und verarbeitet wurde, aber kein Inhalt zurückgegeben wurde. Er wird für Tracking-Pixel verwendet, die Daten sammeln, ohne das Benutzererlebnis zu beeinträchtigen. Dieser Code sorgt für eine effiziente Datenübertragung und lädt die Seite nicht neu oder zeigt Inhalte an, er zeichnet lediglich die Aktionen des Benutzers auf. Dank dessen kann Google Analytics Daten sammeln, ohne die Website zu verlangsamen.
Wann ist der HTTP-Statuscode 204 bzw. 404 zu verwenden?
Verwenden Sie einen Statuscode 204, wenn der Server eine Anfrage erfolgreich verarbeitet, aber keinen Inhalt zurückgeben kann. Dies eignet sich hervorragend für Aktionen wie das Senden von Formularen oder Aktualisierungen, bei denen kein neuer Seiteninhalt erforderlich ist. Verwenden Sie einen Statuscode 404, wenn die angeforderte Ressource nicht auf dem Server gefunden wurde. Dies teilt dem Client mit, dass die gesuchte Seite oder Ressource nicht vorhanden ist.
Was ist ein 204-Code DELETE?
Ein 204-Code mit DELETE bedeutet, dass der Server eine DELETE-Anforderung erfolgreich verarbeitet hat, aber keinen Inhalt zurückgeben kann. Er wird verwendet, um zu bestätigen, dass die Ressource gelöscht wurde, ohne zusätzliche Daten zu senden. Dadurch bleibt die Antwort effizient und klar. Der Client weiß, dass die Löschaktion erfolgreich war, ohne weitere Informationen zu benötigen.