Accept header
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 Sender verstehen kann.
Bei Anfragen verwendet der Server die Inhaltsverhandlung, um einen der Vorschläge auszuwählen, und informiert den Client mit dem Content-Type
-Antwort-Header über die Auswahl.
Bei Antworten gibt er Informationen darüber, welche Inhaltstypen der Server in Nachrichten an die angeforderte Ressource verstehen kann, damit 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. Ein Browser verwendet beispielsweise unterschiedliche Werte in einer Anfrage, wenn ein CSS-Stylesheet, ein Bild, ein Video oder ein Skript abgerufen wird.
Header-Typ | Anforderungs-Header, Antwort-Header |
---|---|
Verbotener Anforderungs-Header | Nein |
CORS-Gelisteter Anforderungs-Header | Ja* |
* Werte dürfen keine CORS-unsicheren Anforderungs-Header-Bytes enthalten, einschließlich "():<>?@[\]{},
, Löschzeichen 0x7F
und Steuerzeichen 0x00
bis 0x19
, mit Ausnahme von Tabulator 0x09
.
Syntax
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 Subtyp. Zum Beispiel entspricht
image/*
image/png
,image/svg
,image/gif
und anderen Bild-Typen. */*
-
Jeder Medientyp.
;q=
(q-Faktor Gewichtung)-
Ein Wert in Reihenfolge der Präferenz ausgedrückt durch einen relativen Qualitätswert, genannt das Gewicht.
Beispiele
Verwendung von Standard-Accept-Anforderungs-Headern
HTTP-Anfragen, die mit Befehlszeilentools wie curl und wget durchgeführt werden, verwenden */*
als Standardwert für Accept
:
GET / HTTP/1.1
Host: example.com
User-Agent: curl/8.7.1
Accept: */*
Die Browser-Navigation hat typischerweise den folgenden Wert im Accept
-Anforderungs-Header:
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 Standardwerte der Accept
-Anfragen für Bilder auf dem Beispiel developer.mozilla.org
so aus:
Accept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5
Konfigurieren von Accept-Anforderungs-Headern für JSON-Antworten
Systeme, die API-Interaktionen beinhalten, fordern häufig application/json
-Antworten an.
Hier ist ein Beispiel einer GET
-Anfrage, bei der der Client explizit eine JSON-Antwort anfordert:
GET /users/123 HTTP/1.1
Host: example.com
Authorization: Bearer abcd123
Accept: application/json
Spezifikationen
Specification |
---|
HTTP Semantics # field.accept |
Browser-Kompatibilität
Siehe auch
- HTTP Inhaltsverhandlung
- Liste der Standard-Accept-Werte
- CORS-Gelistete Anforderungs-Header-Beschränkungen
- Ein Header mit dem Ergebnis der Inhaltsverhandlung:
Content-Type
- Andere ähnliche Header:
TE
,Accept-Encoding
,Accept-Language