Accept

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Der HTTP Accept Anforderungs- und Antwort-Header gibt an, welche Inhaltstypen, ausgedrückt als MIME-Typen, der Absender verstehen kann. Bei Anfragen verwendet der Server die Inhaltsaushandlung, um einen der Vorschläge auszuwählen und informiert den Client über die Wahl mit dem Content-Type Antwort-Header. Bei Antworten liefert er Informationen darüber, welche Inhaltstypen der Server in Nachrichten zur angeforderten Ressource verstehen kann, sodass der Inhaltstyp in nachfolgenden Anfragen an die Ressource verwendet werden kann.

Browser setzen erforderliche Werte für diesen Header basierend auf dem Kontext der Anfrage. Zum Beispiel verwendet ein Browser unterschiedliche Werte in einer Anfrage beim Abrufen eines CSS-Stylesheets, Bildes, Videos oder Skripts.

Headertyp Anforderungs-Header, Antwort-Header
Verbotener Header-Name Nein
CORS-safelisted Anforderungs-Header Ja*

* Werte können keine CORS-unsicheren Anforderungs-Header-Bytes enthalten, einschließlich "():<>?@[\]{},, Delete 0x7F, und Steuerzeichen 0x00 bis 0x19, außer Tab 0x09.

Syntax

http
Accept: <media-type>/<MIME_subtype>
Accept: <media-type>/*
Accept: */*

// Multiple types, weighted with the quality value syntax
Accept: text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, */*;q=0.8

Direktiven

<media-type>/<subtype>

Ein einzelner, präziser Medientyp, wie text/html.

<media-type>/*

Ein Medientyp ohne Untertyp. Zum Beispiel entspricht image/* image/png, image/svg, image/gif, und anderen Bildtypen.

*/*

Jeder Medientyp.

;q= (q-Faktor Gewichtung)

Ein Wert in Reihenfolge der Präferenz, ausgedrückt durch einen relativen Qualitätswert, genannt Gewicht.

Beispiele

Verwendung von Standard-Accept-Anforderungs-Headern

HTTP-Anfragen mittels Befehlszeilenwerkzeugen wie curl und wget verwenden */* als Standardwert für Accept:

http
GET / HTTP/1.1
Host: example.com
User-Agent: curl/8.7.1
Accept: */*

Die Navigation im Browser hat typischerweise den folgenden Accept-Anforderungs-Header-Wert:

http
GET /en-US/ HTTP/2
Host: developer.mozilla.org
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
…

Nach dem Empfang des Dokuments sehen die Standard-Accept-Werte in Anfragen für Bilder auf dem developer.mozilla.org Beispiel so aus:

http
Accept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5

Konfiguration der Accept-Anforderungs-Header für JSON-Antworten

Systeme, die API-Interaktion beinhalten, fordern häufig application/json-Antworten an. Hier ist ein Beispiel einer GET-Anfrage, bei der der Client spezifisch eine JSON-Antwort anfordert:

http
GET /users/123 HTTP/1.1
Host: example.com
Authorization: Bearer abcd123
Accept: application/json

Spezifikationen

Specification
HTTP Semantics
# field.accept

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch