Skip to content

Glossary

Type MIME

L’en-tête « quel type de données est-ce »

By Published Updated

Un type MIME (Multipurpose Internet Mail Extensions, désormais formellement appelé « type de média » selon la RFC 6838) est un identifiant en deux parties au format type/sous-type qui indique à un client le type de données qu’il examine.

Exemples courants :

  • text/html — document HTML
  • application/json — données JSON
  • image/png, image/jpeg, image/webp — formats d’image
  • application/pdf — document PDF
  • multipart/form-data — charge utile d’envoi de fichier
  • application/octet-stream — binaire opaque ; la solution de repli « juste des octets, à vous de deviner ce que c’est »

Les réponses HTTP portent les types MIME dans l’en-tête Content-Type. Les URI de données (utilisées par notre outil image vers Base64) intègrent le type MIME directement : data:image/png;base64,iVBOR.... Les navigateurs utilisent le type MIME déclaré pour décider comment afficher ou télécharger une ressource.

Note historique : MIME a été initialement défini pour les pièces jointes aux courriels. Le même registre définit maintenant les types de médias pour le web, la messagerie instantanée, RSS et la plupart des protocoles modernes.

Le registre des types de médias IANA : chaque type MIME légitime est enregistré auprès de l’Internet Assigned Numbers Authority. Les types de niveau supérieur sont fixes (text, image, audio, video, application, multipart, message, model, font, example, plus le préfixe hérité X-). Les sous-types sont ajoutés via un processus d’enregistrement IETF ou vendor-tree ; application/vnd.openxmlformats-officedocument.wordprocessingml.document (le type MIME formel pour les fichiers .docx) est un exemple du vendor-tree. Les sous-types inconnus utilisent par défaut application/octet-stream, ce qui déclenche généralement une invite de téléchargement du navigateur plutôt qu’un rendu en ligne.

La détection MIME — le piège de sécurité : si un serveur renvoie le mauvais Content-Type, les navigateurs essayaient historiquement de deviner à partir des premiers octets de la réponse. Cette « détection de contenu » permettait des attaques cross-site où une image téléchargée par un utilisateur pouvait être réinterprétée comme du HTML ou du JavaScript. La solution est X-Content-Type-Options: nosniff, qui oblige le navigateur à honorer le type déclaré et à refuser d’exécuter du contenu non correspondant. Les frameworks web modernes expédient cet en-tête par défaut. Référence : RFC 6838 — Spécifications et procédures d’enregistrement des types de médias.

Paramètres : charset, boundary, profile

Un type MIME peut porter des paramètres après un point-virgule. Le plus courant est charset : Content-Type: text/html; charset=utf-8 indique au navigateur que la réponse est du HTML encodé en UTF-8. Sans cela, les navigateurs reviennent à des encodages hérités (Windows-1252 dans de nombreux cas) qui dégradent le texte non-ASCII. Pour les envois multipart/form-data, le paramètre boundary spécifie le délimiteur entre les parties : multipart/form-data; boundary=---WebKitFormBoundary7MA4YWxkTrZu0gW. JSON-LD utilise un paramètre profile : application/ld+json; profile="https://www.w3.org/ns/activitystreams". Les noms de paramètres sont insensibles à la casse ; les valeurs sont insensibles à la casse pour la plupart des paramètres bien connus, mais sensibles à la casse pour le boundary multipart.

La convention de suffixe +

La RFC 6839 a ajouté une convention de suffixe de syntaxe structurée qui permet aux nouveaux types de médias de déclarer quel format générique ils analysent : application/atom+xml, application/vnd.api+json, image/svg+xml. Le suffixe indique à un analyseur générique (une bibliothèque XML ou JSON) comment lire les octets même s’il ne reconnaît pas le type vendeur spécifique. Les standards web modernes s’appuient beaucoup sur cela — chaque type de média API basé sur JSON se termine par +json ; chaque type basé sur XML par +xml. En 2026, le registre IANA répertorie plus de 2 300 types de médias enregistrés dans toutes les catégories de niveau supérieur, avec l’arbre application/ (plus de 1 800 entrées) de loin le plus grand. Référence : Registre des types de médias IANA.

Frequently asked questions

Qu’est-ce qu’un type MIME ?
Un type MIME (Multipurpose Internet Mail Extensions) est un identifiant en deux parties pour le format d’un fichier ou d’un flux de données, écrit sous la forme type/sous-type — par exemple, image/png ou application/json. Les navigateurs et les serveurs l’utilisent pour décider comment traiter le contenu.
Comment un type MIME affecte-t-il la façon dont un navigateur traite un fichier ?
Un navigateur utilise le type MIME de l’en-tête Content-Type pour choisir comment afficher ou télécharger du contenu. Envoyer text/html provoque un rendu ; application/octet-stream déclenche une boîte de dialogue de téléchargement ; image/jpeg s’affiche en ligne. Les discordances provoquent des pages cassées ou des problèmes de sécurité.
Quelle est la différence entre un type MIME et une extension de fichier ?
Une extension de fichier est un indice de nommage ; un type MIME est ce que le serveur déclare que le contenu est réellement. Un fichier nommé .txt pourrait être servi comme application/javascript — le type MIME, et non l’extension, détermine comment le navigateur le traite.
Que se passe-t-il si un serveur envoie le mauvais type MIME ?
Les navigateurs modernes appliquent des protections de « détection MIME » — ils peuvent refuser d’exécuter un script avec un type incorrect, se protégeant ainsi de certaines attaques par injection. L’en-tête X-Content-Type-Options: nosniff demande aux navigateurs de faire confiance au type déclaré et de ne pas le deviner.

Related

Published May 14, 2026 · Last reviewed May 31, 2026