Wie verwende ich den HTTP Accept-Header?

Der HTTP Accept Header teilt dem Server mit, welche Content-Typen der Client versteht. Beispiele & Content-Negotiation.

Leo Schulz

Leo Schulz

1 September 2025

Wie verwende ich den HTTP Accept-Header?

Wenn Sie Webentwickler sind, wissen Sie wahrscheinlich, wie wichtig es ist, effektiv mit den Webservern zu kommunizieren, die Ihre Anwendungen hosten. Sie müssen die richtigen Anfragen senden und die richtigen Antworten erhalten, damit Ihre Anwendungen ordnungsgemäß funktionieren und eine großartige Benutzererfahrung bieten können. Aber wissen Sie, wie Sie den HTTP Accept-Header verwenden, um diese Kommunikation zu optimieren und Ihre Anwendungen flexibler und effizienter zu gestalten? Wenn nicht, keine Sorge.

In diesem Blogbeitrag zeige ich Ihnen alles, was Sie über den HTTP Accept-Header wissen müssen und wie Sie Tools wie Apidog verwenden, um Ihre HTTP-Anfragen und -Antworten zu testen und zu debuggen.

button

Was ist der HTTP Accept-Header und wie funktioniert er?

Der HTTP Accept-Header ist Teil der Anforderungsnachricht. Er ist eine Möglichkeit für den Client, dem Server mitzuteilen, welche Art von Inhalten er akzeptieren und verarbeiten kann. Der Inhalt kann alles sein, was der Server bereitstellen kann, z. B. HTML, XML, JSON, Bilder, Videos, Audio usw. Der HTTP Accept-Header hat das folgende Format:

Accept: media-type, media-type, ...

Der Media-Typ ist eine Zeichenfolge, die den Typ und den Untertyp des Inhalts angibt, z. B. text/html, application/json, image/jpeg usw. Sie können auch Wildcards verwenden, um einen beliebigen Typ oder Untertyp anzugeben, z. B. */*, text/*, image/* usw. Sie können auch Parameter verwenden, um weitere Details über den Inhalt bereitzustellen, z. B. die Qualität, die Sprache, die Kodierung usw. Zum Beispiel bedeutet text/html;q=0.8,en-US, dass der Client HTML-Dokumente mit einer Qualität von 0,8 (von 1) und in US-Englisch akzeptieren kann.

Sie können mehrere Media-Typen im HTTP Accept-Header angeben, getrennt durch Kommas. Die Reihenfolge der Media-Typen gibt die Präferenz des Clients an. Der erste Media-Typ ist der am meisten bevorzugte, der zweite der zweitmeist bevorzugte usw. Zum Beispiel bedeutet Accept: text/html,application/json,image/png, dass der Client HTML-Dokumente, dann JSON-Daten und dann PNG-Bilder bevorzugt.

Warum der HTTP Accept-Header wichtig ist

Der HTTP Accept-Header ist eine leistungsstarke Möglichkeit, den Inhalt zwischen dem Client und dem Server auszuhandeln. Er ermöglicht es dem Client, verschiedene Arten von Inhalten basierend auf seinen Fähigkeiten und Präferenzen anzufordern, und er ermöglicht es dem Server, den bestmöglichen Inhalt für den Client bereitzustellen, basierend auf seiner Verfügbarkeit und Kompatibilität. Dies kann die Leistung, Effizienz und Benutzererfahrung sowohl des Clients als auch des Servers verbessern.

Der HTTP Accept-Header ist wichtig, da er dem Server hilft, den bestmöglichen Inhalt für den Client bereitzustellen, basierend auf seinen Fähigkeiten und Präferenzen. Er hilft dem Server auch, das Senden unnötiger oder inkompatibler Daten zu vermeiden, die der Client nicht verwenden oder anzeigen kann. Dies kann die Leistung, Effizienz und Benutzererfahrung sowohl des Clients als auch des Servers verbessern.

Wie man den HTTP Accept-Header verwendet, um verschiedene Arten von Inhalten vom Server anzufordern

Um den HTTP Accept-Header in Ihrer Anforderungsnachricht zu schreiben, müssen Sie ein Tool oder eine Bibliothek verwenden, mit der Sie HTTP-Anfragen senden können. Es gibt viele Tools und Bibliotheken, die für verschiedene Sprachen und Plattformen verfügbar sind, wie z. B. curl, Apidog, Axios, Fetch usw. Für dieses Beispiel verwende ich curl, ein Befehlszeilen-Tool, mit dem Sie HTTP-Anfragen senden und HTTP-Antworten empfangen können.

Um curl zu verwenden, müssen Sie den folgenden Befehl in Ihrem Terminal eingeben:

curl -H "Accept: media-type, media-type, ..." URL

Die Option -H ermöglicht es Ihnen, Ihrer Anfrage einen Header hinzuzufügen. Der Accept: media-type, media-type, ... ist der HTTP Accept-Header, den Sie senden möchten. Die URL ist die Adresse des Servers, von dem Sie Daten anfordern möchten. Wenn Sie beispielsweise HTML-Dokumente von https://example.com anfordern möchten, können Sie Folgendes eingeben:

curl -H "Accept: text/html" https://example.com

Dadurch wird eine Anfrage an https://example.com mit dem Header Accept: text/html gesendet, was bedeutet, dass Sie nur HTML-Dokumente als Antwort akzeptieren können.

Um die Antwortnachricht vom Server zu lesen, müssen Sie sich den Statuscode, den Content-Type-Header und den Text der Nachricht ansehen.

Wenn Sie beispielsweise die Anfrage curl -H "Accept: text/html" https://example.com senden, erhalten Sie möglicherweise die folgende Antwort:

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8

<html>
<head>
<title>Example Domain</title>
</head>
<body>
<h1>Example Domain</h1>
<p>This domain is for use in illustrative examples in documents. You may use this
domain in literature without prior coordination or asking for permission.</p>
<p><a href="https://www.iana.org/domains/example">More information...</a></p>
</body>
</html>

Der Statuscode ist 200, was bedeutet, dass die Anfrage erfolgreich war. Der Content-Type-Header ist text/html; charset=UTF-8, was bedeutet, dass der Server ein HTML-Dokument mit UTF-8-Kodierung zurückgesendet hat.

Sie können den HTTP Accept-Header verwenden, um verschiedene Arten von Inhalten vom Server anzufordern, indem Sie den Media-Typ in Ihrer Anfrage ändern. Wenn Sie beispielsweise JSON-Daten von https://example.com anfordern möchten, können Sie Folgendes eingeben:

curl -H "Accept: application/json" https://example.com

Dadurch wird eine Anfrage an https://example.com mit dem Header Accept: application/json gesendet, was bedeutet, dass Sie nur JSON-Daten als Antwort akzeptieren können. Sie erhalten möglicherweise die folgende Antwort:

HTTP/1.1 200 OK
Content-Type: application/json

{
  "domain": "example.com",
  "purpose": "illustrative examples in documents",
  "link": "https://www.iana.org/domains/example"
}

Der Statuscode ist 200, was bedeutet, dass die Anfrage erfolgreich war. Der Content-Type-Header ist application/json, was bedeutet, dass der Server JSON-Daten zurückgesendet hat. Der Text der Nachricht sind die JSON-Daten selbst, die Sie in Ihrem Browser oder auf der Apidog-Website sehen können.

Sie können auch mehrere Arten von Inhalten vom Server anfordern, indem Sie mehr als einen Media-Typ in Ihrer Anfrage angeben. Wenn Sie beispielsweise entweder HTML-Dokumente oder JSON-Daten von https://example.com anfordern möchten, können Sie Folgendes eingeben:

curl -H "Accept: text/html,application/json" https://example.com

Wie man verschiedene Arten von Antworten vom Server basierend auf dem HTTP Accept-Header verarbeitet

Manchmal kann der Server möglicherweise nicht genau die Art von Inhalt zurücksenden, die Sie mit dem HTTP Accept-Header angefordert haben. Dies kann aus verschiedenen Gründen geschehen, z. B.:

Es gibt viele mögliche Statuscodes, die der Server zurücksenden kann, aber hier sind einige der häufigsten, denen Sie bei der Verwendung des HTTP Accept-Headers begegnen können:

Der Content-Type-Header und der Text der Antwortnachricht können auch je nach Statuscode und Media-Typ variieren, den der Server zurückgesendet hat. Sie können Tools wie Apidog verwenden, um den Content-Type-Header und den Text der Nachricht auf benutzerfreundliche Weise anzuzeigen.

Wie man Apidog verwendet, um meinen HTTP Accept-Header zu testen und zu debuggen?

Apidog ist ein webbasiertes Tool, mit dem Sie Ihre APIs kostenlos testen, debuggen und dokumentieren können.

button

Um Apidog zum Testen und Debuggen Ihres HTTP Accept-Headers zu verwenden, müssen Sie die folgenden Schritte ausführen:

Apidog
Apidog

Best Practices und Tipps für die Verwendung des HTTP Accept-Headers.

Der HTTP Accept-Header ist ein Anforderungs-Header, der angibt, welche Inhaltstypen, ausgedrückt als MIME-Typen, der Client verstehen kann. Der Server verwendet die Inhaltsverhandlung, um einen der Vorschläge auszuwählen, und informiert den Client über die Auswahl mit dem Content-Type-Antwort-Header. Hier sind einige Best Practices und Tipps für die Verwendung des HTTP Accept-Headers in Ihren Webentwicklungsprojekten:

Fazit

In diesem Beitrag habe ich die Bedeutung des HTTP Accept-Headers erklärt und wie er verwendet werden kann, um den Inhaltstyp zwischen dem Client und dem Server auszuhandeln. Ich habe auch gezeigt, wie man den Accept-Header in verschiedenen Szenarien festlegt.

Durch die Verwendung des Accept-Headers können wir sicherstellen, dass der Server mit dem für unsere Bedürfnisse am besten geeigneten Format antwortet und unnötige Konvertierungen oder Fehler vermeiden. Der Accept-Header ist einer der vielen HTTP-Header, die uns helfen können, robustere und effizientere Webanwendungen zu erstellen.

button

Explore more

How to Install OpenClaw: Step-by-Step Setup Guide (10 Minutes)

How to Install OpenClaw: Step-by-Step Setup Guide (10 Minutes)

Complete OpenClaw setup guide with Apidog integration. Install Node.js, connect WhatsApp, configure LLM, and automate API testing. Step-by-step for Mac, Windows, Linux.

5 March 2026

So verwenden Sie Deepseek R1 lokal mit Cursor

So verwenden Sie Deepseek R1 lokal mit Cursor

Erfahre, wie du DeepSeek R1 lokal mit Cursor IDE einrichtest & konfigurierst – privates, kostengünstiges KI-Coding.

4 June 2025

Wie man Gemma 3n auf Android ausführt?

Wie man Gemma 3n auf Android ausführt?

Erfahre, wie du Gemma 3n auf Android installierst und ausführst, mit Google AI Edge Gallery.

3 June 2025

Praktizieren Sie API Design-First in Apidog

Entdecken Sie eine einfachere Möglichkeit, APIs zu erstellen und zu nutzen