MIME
Siglas de Multipurpose Internet Mail Extensions que son un conjunto de especificaciones orientadas hacia el intercambio de cualquier tipo de archivo en internet. Está definido y estandarizado en IETF RFC 6838.
¿Para qué sirve MIME?
- Determinar qué aplicación debe abrir un formato específico de archivo de manera predeterminada.
- Registrar otras aplicaciones que también puedan abrir un formato de archivo específico.
- Proporcionar una cadena de texto que describa el tipo de un archivo, por ejemplo, en el diálogo de propiedades de un archivo de la aplicación Archivos.
- Proporcionar un icono que describa un formato de archivo en concreto, por ejemplo, en el diálogo de propiedades de un archivo de la aplicación Archivos.
¿Cómo funciona MIME?
El servidor le dirá al navegador el tipo de datos multimedia que envía, y el medio de notificación es especificar el tipo MIME de los datos multimedia, para que el navegador sepa qué información es un archivo MP3, que es un archivo de ondas de choque, y así sucesivamente.
El servidor coloca identificadores MIME en los datos transmitidos para indicarle al navegador qué complemento usar para leer el archivo relevante.
Después de que el navegador reciba el archivo, ingresará al sistema de complementos para averiguar qué complemento puede identificar y leer el archivo recibido.
Si el navegador no sabe a qué sistema de complementos llamar, puede decirle al usuario que falta un complemento, o seleccionar directamente un complemento existente para intentar leer el archivo recibido, lo que puede provocar que el sistema se bloquee.
Tipos de archivos MIME
- Text: Se está indicando que el tipo de datos es texto plano. Representa cualquier documento que contenga texto y es legible por humanos. En el subtipo pueden especificarse textos en formato html, xml, xhtml entre otros.
- Message: Este tipo encapsula en un mensaje el contenido de otro mensaje. Por ejemplo, cuando damos responder a un mensaje y el texto original es enviado como parte del mensaje. Admite subtipos como partial, rfc822, etc.
- Multipart: Informa que el texto está conformado por varias partes independientes. Subtipos como form-data, digest.
- Audio: El tipo de datos es un audio. Subtipos tales como mp3, wma, wav.
- Video: Hace referencia a archivos de video. Ejemplo se subtipos serían mp4, mkv, avi.
- Image: Indicativo de que el tipo de datos hace referencia a imágenes. las imágenes animadas (como el gif animado) se describen con un tipo de imagen. Por ejemplo, png, gif, webp.
- Application: Los datos enviados corresponden a datos de aplicaciones, incluyendo datos binarios. Como ejemplo de subtipos podemos incluir json, pdf.
Estructura de MIME
La estructura de un tipo MIME es muy simple; consiste en un tipo y un subtipo, dos cadenas, separadas por un ‘/’. No se permite espacio. El tipo representa la categoría y puede ser de tipo discreto o multiparte. El subtipo es específico para cada tipo. text/plain; image/jpeg; audio/webm…
Cabeceras MIME
- MIME-version: el valor que contiene comúnmente es “1.0”, hacienda referencia a la versión MIME que implementa.
- Content-type: En esta cabecera es donde se especifica el tipo de datos del contenido del mensaje. Como valor se asigna un tipo de datos type y un subtipo de los mismo subtype.
- Content-Transfer-Encoding: se definen una serie de métodos encargados de representar datos binarios mediante codificación ASCII.
- Encoded-Word: se debe usar la sintaxis =? charset ? codificación ? texto codificado ?=