Comprendre les types MIME en 2 minutes

Ils sont utilisés partout, et notamment dans le web, la norme MIME est simple à comprendre, mais indispensable !

Article publié le 02/10/2023, dernière mise à jour le 06/10/2023

Le sigle MIME signifie « Multipurpose Internet Mail Extension », c’est un standard qui permet de spécifier le type d’un média/fichier, à l’origine utilisé pour les fichiers envoyés en pièce jointe d’un e-mail.

On parle parfois simplement de « media types »

Aujourd’hui de nombreuses technologies s’appuient sur le standard MIME, c’est notamment le cas pour le protocole HTTP.

Le format

Un type MIME est très flexible en termes de contenu, car il permet de définir des types de médias personnalisés, mais il est indispensable de respecter son format.

Chaque média est défini par :

  • un type
  • un sous-type
  • un paramètre (optionnel)

Sous le format suivant :

# format
<type>/<subtype>;[parameter]

# exemple
image/png

# exemple avec paramètre
text/html;charset=UTF-8

La plupart des types MIME ne nécessitent pas de paramètre, mais il est important de savoir que cela existe.

Les sous-type personnalisés

Ce qui a permis au standard MIME d’être toujours valable après autant d’années, c’est le fait qu’il soit facilement extensible.

Les types principaux sont eux au nombre de dix, avec notamment :

  • application
  • image
  • video
  • text

Mais les formats, eux, peuvent être personnalisés grâce à des suffixes.

Pour tous les formats non-standards, le préfixe à utiliser est « x », comme par exemple pour les fichiers .ico :

image/x.icon

Et pour les formats propriétaires, comme ceux de Microsoft, on utilise le préfixe "vnd" pour "vendor" :

application/vnd.ms-excel

À noter que parfois le préfix est séparé par un « - » au lieu de « . »

La standardisation

Certains formats de fichier qui prennent de l’ampleur sont ajoutés au standard après un certains temps.

C’est le cas pour les fichiers Markdown qui sont passés de text/x.markdown à text/markdown.

Pourquoi ne pas utiliser l’extension du fichier ?

Il est vrai que la majorité des fichiers possèdent un nom se terminant par une extension représentant leur format, comme an-example-picture.png

Mais il existe de nombreuses situations où le fichier est accessible simplement avec un identifiant

Imaginons l’URL fictive suivante : https://example.com/images/user34

Le navigateur ne sera pas capable d’interpréter correctement ce fichier pour l’afficher s’il n’est pas accompagné par l’en-tête HTTP :

Content-Type: image/jpeg;

Quelques exemples courants :

Images

  • image/jpeg
  • image/png
  • image/gif
  • image/webp

Vidéos

  • video/mp4
  • video/mpeg

Application

  • application/javascript
  • application/json

Texte

  • text/plain
  • text/html

Vous avez terminé l'article ?

Commentaires (0)

pour laisser un commentaire

Aucun commentaire pour l'instant