MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

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

Spécification Titre
RFC 7233, section 4.1: Content-Type in multipart Hypertext Transfer Protocol (HTTP/1.1): Range Requests
RFC 7231, section 3.1.1.5: Content-Type Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

Compatibilité selon les navigateurs

Fonctionnalité Chrome Edge Firefox Internet Explorer Opera Safari Servo
Content-Type(Oui)(Oui)(Oui)(Oui)(Oui)(Oui)(Oui)
Fonctionnalité Android Chrome for Android Edge Mobile Firefox for Android IE Mobile Opera Mobile Safari Mobile
Content-Type(Oui)(Oui)(Oui)(Oui)(Oui)(Oui)(Oui)

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : SphinxKnight, Goofy
 Dernière mise à jour par : SphinxKnight,