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
-Request- und Response-Header gibt an, welche Inhaltsarten, ausgedrückt als MIME-Typen, der Absender verstehen kann. Bei Anfragen verwendet der Server Content Negotiation, um einen der Vorschläge auszuwählen und informiert den Client über die Auswahl mit dem Content-Type
-Response-Header. In Antworten gibt der Header an, welche Inhaltsarten der Server in Nachrichten zur angeforderten Ressource verstehen kann, sodass diese Inhaltsart 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, Bild, Video oder ein Skript abgerufen wird.
Header-Typ | Request-Header, Response-Header |
---|---|
Verbotener Anfrage-Header | Nein |
CORS-safelisted Request-Header | Ja* |
* Werte dürfen keine CORS-unsicheren Anfrage-Header-Bytes enthalten, einschließlich "():<>?@[\]{},
, Delete 0x7F
und Steuerzeichen 0x00
bis 0x19
, außer 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/*
image/png
,image/svg
,image/gif
und anderen Bildtypen. */*
-
Jeder Medientyp.
;q=
(q-Faktor Gewichtung)-
Ein Wert der Präferenzordnung, ausgedrückt mithilfe eines relativen Qualitätswertes, genannt das Gewicht.
Beispiele
Verwenden der Standard-Accept-Anfrage-Header
HTTP-Anfragen, die mit Befehlszeilentools wie curl und wget erstellt werden, verwenden */*
als Standardwert für Accept
:
GET / HTTP/1.1
Host: example.com
User-Agent: curl/8.7.1
Accept: */*
Die Browsenavigation 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 dem Empfang 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-Interaktion beinhalten, fordern typischerweise application/json
-Antworten an. Hier ist ein Beispiel für eine GET
-Anfrage, bei der der Client spezifisch 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 Content Negotiation
- Liste der Standardwerte für Accept
- CORS-Safelist-Anfrage-Header-Einschränkungen
- Ein Header mit dem Ergebnis der Content Negotiation:
Content-Type
- Andere ähnliche Header:
TE
,Accept-Encoding
,Accept-Language