Content-Type
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 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
boundaryest 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
Chargement…
Voir aussi
AcceptetAccept-CharsetContent-Disposition206Partial ContentX-Content-Type-Options