Content-Type
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.
L'en-tête Content-Type
sert à indiquer le type MIME de la ressource.
Dans les réponses, un en-tête Content-Type
indique au client le type de contenu réellement renvoyé. Il peut arriver que les navigateurs cherchent à détecter le type MIME du contenu en l'inspectant plutôt qu'en respectant la valeur de cet en-tête. Pour empêcher ce comportement, on peut paramétrer l'en-tête X-Content-Type-Options
avec la valeur nosniff
.
Dans les requêtes, (telles que POST
ou PUT
), le client indique au serveur quel type de données a réellement été envoyé.
Type d'en-tête | En-tête d'entité |
---|---|
Nom d'en-tête interdit | Non |
En-tête de réponse simple pour le CORS | Oui |
Syntaxe
Content-Type: text/html; charset=utf-8 Content-Type: multipart/form-data; boundary=something
Directives
media-type
-
Le type MIME de la ressource ou des données.
charset
-
L'encodage utilisé pour les caractères des données.
boundary
-
Pour les entités fragmentées (multipart), la directive
boundary
est nécessaire. Elle ne se termine pas par un espace et est composée de 1 à 70 caractères qui proviennent d'un ensemble de caractères connus pour ne pas être transformés/modifiés par les différents composants au travers desquels transitent les emails. Cette directive est utilisée afin d'encapsuler les limites des différents fragments d'un message fragmenté.
Exemples
Content-Type
dans les formulaires HTML
Dans une requête POST
, qui vient d'une soumission d'un formulaire HTML, le Content-Type
de la requête est précisé par l'attribut enctype
de l'élément <form>
.
<form action="/" method="post" enctype="multipart/form-data">
<input type="text" name="description" value="du texte" />
<input type="file" name="monFichier" />
<button type="submit">Envoyer</button>
</form>
La requête ressemble à peu près à ceci (les en-têtes moins intéressants ont été ici volontairement omis) :
POST /toto HTTP/1.1 Content-Length: 68137 Content-Type: multipart/form-data; boundary=---------------------------974767299852498929531610575 Content-Disposition: form-data; name="description" ---------------------------974767299852498929531610575 du texte par ici ---------------------------974767299852498929531610575 Content-Disposition: form-data; name="monFichier"; filename="toto.txt" Content-Type: text/plain (contenu du fichier envoyé en ligne toto.txt) ---------------------------974767299852498929531610575
Spécifications
Specification |
---|
HTTP Semantics # status.206 |
HTTP Semantics # field.content-type |
Compatibilité des navigateurs
BCD tables only load in the browser
Voir aussi
Accept
etAccept-Charset
Content-Disposition
206
Partial Content
X-Content-Type-Options