Qu'est-ce que la spécification MIME :
Le concept de MIME (Multipurpose Internet Mail Extensions) a été initialement développé pour organiser la structure des contenus des messages transférés via le protocole SMTP. Cependant, il est adopté dans d'autres protocoles de communication, tels que HTTP.
Donc, Mime, c'est une spécification! qui décrit comment afficher la structure, le format et la nature d'un type de données, tel qu'un fichier, ou le corps d'un email, etc.
Qu'est-ce que le Content-Type
Mime, possède plusieurs header-field
, qui sont utilisés dans les protocoles tirant parti de cette spécification. Un de ces champs d'en-tête est Content-Type
. Ainsi, Content-Type
n'est pas spécifique au protocole HTTP. Une valeur pouvant être assignée à cet en-tête est parfois appelée aussi un type de contenu.
Il existe d'autres en-têtes également, utilisés pour spécifier le codage du message, ou comment le message doit être affiché (s'il doit être téléchargé ou non etc.).
Qu'est-ce qu'un type de média ?
Un type de média, autrefois appelé type mime, est simplement une chaîne de caractères. Comme mentionné dans MDN
Il (type mime) remplit le même rôle que les extensions de fichier le font traditionnellement sur Windows
Un type de média, se compose d'un type
(tel que video
) et d'un sous-type
(tel que 3gpp
). video/3gpp
est un exemple de types de média. La liste des types de médias enregistrés peut être consultée ici. Dans les protocoles HTTP et SMTP, la valeur de l'en-tête content-type doit être un type de média!
Un dernier point :
Nous n'envoyons pas toujours qu'un simple fichier image, ou juste du texte. Parfois notre message est constitué de plusieurs parties. De plus, ces parties peuvent avoir une structure imbriquée. MIME est capable de montrer comment les parties sont imbriquées. En réalité, ces parties peuvent être disposées dans une structure arborescente.
Si le message comporte plusieurs parties, chaque partie a son propre Content-Type
.
Le type de média de tout nœud non-terminal dans l'arborescence doit avoir un type multipart
. Son sous-type
peut avoir diverses valeurs en fonction des feuilles.