Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
Content-Type header
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Der HTTPContent-TypeRepräsentations-Header wird verwendet, um den ursprünglichenMedientyp einer Ressource anzugeben, bevor jegliche Inhaltscodierung angewendet wird.
In Antworten informiert derContent-Type-Header den Client über den Medientyp der zurückgegebenen Daten.In Anfragen wiePOST oderPUT verwendet der Client denContent-Type-Header, um den Typ des Inhalts anzugeben, der an den Server gesendet wird.Wenn eine Serverimplementierung oder -konfiguration strikt bezüglich der Behandlung von Inhaltstypen ist, kann eine415 Client-Fehlerantwort zurückgegeben werden.
DerContent-Type-Header unterscheidet sich vonContent-Encoding dadurch, dassContent-Encoding dem Empfänger hilft zu verstehen, wie die Daten in ihre ursprüngliche Form decodiert werden können.
Hinweis:Dieser Wert kann ignoriert werden, wenn BrowserMIME sniffing (oder Inhalts-Sniffing) bei Antworten durchführen.Um zu verhindern, dass Browser MIME sniffing verwenden, setzen Sie denX-Content-Type-Options Header-Wert aufnosniff.SieheMIME-Typ-Verifikation für weitere Details.
| Header-Typ | Repräsentations-Header |
|---|---|
| Verbotener Anfrage-Header | Nein |
| CORS-zugelassener Antwort-Header | Ja |
| CORS-zugelassener Anfrage-Header | Ja* |
* Werte dürfen keinCORS-unsicheres Anfrage-Header-Byte enthalten:"():<>?@[\]{},, Delete0x7F, und Steuerzeichen0x00 bis0x19 außer Tab0x09.Es muss auch einen Medientyp seines geparsten Werts (Parameter ignorierend) von entwederapplication/x-www-form-urlencoded,multipart/form-data odertext/plain haben.
In diesem Artikel
Syntax
Content-Type: <media-type>
Zum Beispiel:
Content-Type: text/html; charset=utf-8Content-Type: multipart/form-data; boundary=ExampleBoundaryStringDirektiven
<media-type>DerMedientyp der Ressource oder Daten.Kann die folgenden Parameter enthalten:
charset: Gibt den verwendetenZeichenkodierungsstandard an.Der Wert ist nicht case-sensitiv, aber Kleinbuchstaben werden bevorzugt.boundary: Für multipartige Entitäten ist derboundaryParameter erforderlich.Er wird verwendet, um die Grenzen der mehrfachen Teile der Nachricht zu kennzeichnen.Der Wert besteht aus 1 bis 70 Zeichen (nicht mit Leerzeichen endend), die im Kontext verschiedener Systeme (z. B. E-Mail-Gateways) als robust bekannt sind.Oft wird die Header-Grenze im Anfrageinhalt mit zwei Bindestrichen vorangestellt und die finale Grenze hat zwei Bindestriche am Ende.
Beispiele
>Ressourcen mit korrektem Inhaltstyp bereitstellen
In den folgenden zwei Antwortbeispielen werden JavaScript- und CSS-Ressourcen mittext/javascript für JavaScript undtext/css für CSS bereitgestellt.Der korrekte Inhaltstyp für diese Ressourcen hilft dem Browser, sie sicherer und mit besserer Leistung zu verarbeiten.Weitere Informationen finden Sie unterServer-MIME-Typen richtig konfigurieren.
HTTP/1.1 200content-encoding: brcontent-type: text/javascript; charset=utf-8vary: Accept-Encodingdate: Fri, 21 Jun 2024 14:02:25 GMTcontent-length: 2978const videoPlayer=document.getElementById...HTTP/3 200server: nginxdate: Wed, 24 Jul 2024 16:53:02 GMTcontent-type: text/cssvary: Accept-Encodingcontent-encoding: br.super-container{clear:both;max-width:100%}...Content-Type in Multipart-Formularen
In einerPOST Anfrage, die aus einer HTML-Formularübermittlung resultiert, wird derContent-Type der Anfrage durch dasenctype Attribut auf dem<form> Element festgelegt.
<form action="/foo" method="post" enctype="multipart/form-data"> <input type="text" name="description" value="Description input value" /> <input type="file" name="myFile" /> <button type="submit">Submit</button></form>Die Anfrage sieht ungefähr so aus wie das folgende Beispiel, wobei einige Header der Kürze halber weggelassen wurden.In der Anfrage wird eine Grenze vonExampleBoundaryString zur Veranschaulichung verwendet, aber in der Praxis würde ein Browser eine Zeichenkette erzeugen, die eher so aussieht:---------------------------1003363413119651595289485765.
POST /foo HTTP/1.1Content-Length: 68137Content-Type: multipart/form-data; boundary=ExampleBoundaryString--ExampleBoundaryStringContent-Disposition: form-data; name="description"Description input value--ExampleBoundaryStringContent-Disposition: form-data; name="myFile"; filename="foo.txt"Content-Type: text/plain[content of the file foo.txt chosen by the user]--ExampleBoundaryString--Content-Type in URL-kodierter Formularübermittlung
Wenn Formulare keine Datei-Uploads beinhalten und einfachere Felder verwenden, können URL-kodierte Formulare praktischer sein, bei denen die Formulardaten im Anforderungskörper enthalten sind:
<form action="/submit" method="post"> <label for="comment">Comment:</label> <input type="text" name="comment" value="Hello!" /> <button type="submit">Submit</button></form>POST /submit HTTP/1.1Host: example.comContent-Type: application/x-www-form-urlencodedContent-Length: 15comment=Hello!Content-Type in einer REST API mit JSON
VieleREST APIs verwendenapplication/json als Inhaltstyp, was für die Kommunikation zwischen Maschinen oder die programmatische Interaktion praktisch ist.Das folgende Beispiel zeigt eine201 Created Antwort, die das Ergebnis einer erfolgreichen Anfrage anzeigt:
HTTP/1.1 201 CreatedContent-Type: application/json{ "message": "New user created", "user": { "id": 123, "firstName": "Paul", "lastName": "Klee", "email": "p.klee@example.com" }}Spezifikationen
| Specification |
|---|
| HTTP Semantics> # status.206> |
| HTTP Semantics> # field.content-type> |