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-Header Accept
für Anfragen und Antworten gibt an, welche Inhaltsarten, ausgedrückt als MIME-Typen, der Absender verstehen kann. Bei Anfragen verwendet der Server die Inhaltsverhandlung, um einen der Vorschläge auszuwählen, und informiert den Client über die Wahl mit dem Antwort-Header Content-Type
. In Antworten wird angegeben, welche Inhaltsarten der Server verstehen kann, so dass dieser Inhaltstyp bei nachfolgenden Anfragen an die Ressource verwendet werden kann.
Browser setzen erforderliche Werte für diesen Header basierend auf dem Kontext der Anfrage. Beispielsweise verwendet ein Browser unterschiedliche Werte in einer Anfrage, wenn ein CSS-Stylesheet, ein Bild, ein Video oder ein Skript abgerufen wird.
Header-Typ | Anfrage-Header, Antwort-Header |
---|---|
Verbotener Anfrage-Header | Nein |
CORS-safelisted Anfrage-Header | Ja* |
* Werte dürfen keine CORS-unsicheren Anfrage-Header-Bytes enthalten, einschließlich "():<>?@[\]{},
, Löschen 0x7F
und Steuerzeichen 0x00
bis 0x19
, außer für Tab 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/*
den Typenimage/png
,image/svg
,image/gif
und anderen Bildformaten. */*
-
Jeder Medientyp.
;q=
(q-Faktor Gewichtung)-
Ein Wert in der Reihenfolge der Präferenz, ausgedrückt als relativer Qualitätswert, genannt die Gewichtung.
Beispiele
Verwendung von Standard-Accept-Anfrage-Headern
HTTP-Anfragen, die mit Befehlszeilen-Tools wie curl und wget ausgeführt werden, verwenden */*
als Standardwert für Accept
:
GET / HTTP/1.1
Host: example.com
User-Agent: curl/8.7.1
Accept: */*
Die Navigation im Browser hat typischerweise den folgenden Accept
-Anfrage-Header-Wert:
GET /en-US/ HTTP/2
Host: developer.mozilla.org
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
…
Nach Erhalt des Dokuments sehen die Standard-Accept-Werte in 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-Anfrage-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 ausdrücklich 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
BCD tables only load in the browser
Siehe auch
- HTTP Inhaltsverhandlung
- Liste der Standard-Accept-Werte
- CORS-Safelist-Anfrage-Header-Beschränkungen
- Ein Header mit dem Ergebnis der Inhaltsverhandlung:
Content-Type
- Andere ähnliche Header:
TE
,Accept-Encoding
,Accept-Language