Le courriel internet primitif était limité à l'ASCII, si bien que le corps d'un message ne pouvait pas transporter une image ou un fichier d'une manière acceptée par tous les clients. MIME, les Multipurpose Internet Mail Extensions, a été conçu pour changer cela.
MIME est issu de l'Andrew Messaging System de l'université Carnegie Mellon, en tant que format de données multiplateforme, et a été spécifié pour la première fois par son co-créateur Nathaniel Borenstein et d'autres sous la référence RFC 1341 en juin 1992 ; la version actuelle est l'ensemble RFC 2045/2046/2047 de 1996.
Sa conception était délibérément minimale : un en-tête Content-Type nomme ce qu'est la partie, un Content-Transfer-Encoding convertit le binaire en ASCII, et une frontière multipart permet à un seul corps de contenir plusieurs parties. Le message continue de circuler sur SMTP comme auparavant.
Comme l'extension reposait sur des en-têtes et était facultative, chaque client pouvait ajouter sa prise en charge selon son propre calendrier, et MIME est rapidement devenu le moyen standard d'envoyer des pièces jointes et des courriels en texte enrichi, puis la base de l'idée de content-type du web lui-même.
Ajouter un en-tête qui indique ce qu'est le corps
Un en-tête content-type indique au destinataire ce qu'est une partie, afin qu'il puisse la décoder selon une règle
base64 permet à du binaire arbitraire de passer par un transport limité à l'ASCII
Les frontières multipart permettent à un seul message de contenir du texte et des pièces jointes ensemble
Comme le changement se situait au niveau des en-têtes, l'adoption ne nécessitait pas de basculement commun
Pour étendre un système largement déployé, ajoutez une petite structure facultative, et non un nouveau système : un en-tête indiquant ce qu'est la charge utile permet à chaque implémenteur de l'adopter de son côté.
Suites
MIME est devenu le conteneur universel des pièces jointes de courriel, et c'est pourquoi l'en-tête Content-Type a emprunté son idée pour décrire les ressources web. La spécification d'origine était mince sur la présentation, si bien que Content-Disposition a été ajouté dans la RFC 2183 ; en pratique, de nombreux clients choisissent encore la partie à afficher selon leur propre logique plutôt que selon les conseils de la norme.
VÉRIFIEZ LES SOURCES
Les sources
- Multipurpose Internet Mail Extensions (MIME) Part One (RFC 2045) IETF / rfc-editor.org · rfc-editor.org
- MIME — Wikipedia Wikipedia · en.wikipedia.org