Los tipos MIME

El protocolo HTML fue diseñado para transportar por red ficheros en formato ASCII, formados por texto plano. Ahora bien, con el progreso de las tecnologías y con la inclusión de diferentes tipos de ficheros no-ASCII en las aplicaciones por Internet (imágenes, vídeos, sonidos, etc.), surgió la necesidad de transformar estos formatos al tipo ASCII (u otros juegos de caracteres compatibles), para su correcta recepción en el navegador web.

Este problema se produjo inicialmente en las aplicaciones de correo electrónico, cuando se necesitó enviar por email ficheros no formados por texto plano, y por tanto, no compatibles con los juegos de caracteres permitidos.

Para solucionar este problema el «Internet Engineering Task Force» (IETF) creó en 1992 los tipos MIME (Multipurpose Internet Mail Extensions), especificaciones para dar formato a mensajes no-ASCII, de forma que pudieran ser enviados por Internet e interpretados correctamente por los programas de correo locales.

Fue tan importante la ampliación que se dio con los tipos MIME al correo que pronto se aplicaron también a los documentos web, lo que permitió incluir en las páginas HTML ficheros varios (inicialmente imágenes, y luego vídeos, sonidos, applets de Java, etc.), que dieron nueva vida a la Web.

Los tipos MIME especifican los tipos de datos, como por ejemplo texto, imagen, audio, etc., que los archivos contienen. MIME adjunta a cada fichero un archivo de cabecera donde se indica el tipo y el subtipo del contenido de los datos del mismo. Gracias a esta información, tanto el servidor como el navegador pueden manejar y presentar los archivos correctamente.

Si introducimos en nuestro código HTML referencias a ficheros especiales, cuyo tipo MIME no está declarado previamente en el sistema local del usuario, el navegador web no será capaz de interpretar dicho fichero, al no saber qué tipos de datos contiene ni cómo ejecutarlo.

Los navegadores web traen configurados por defecto una serie de tipos MIME, de tal forma que saben cómo interpretar y ejecutar los ficheros definidos mediante estos tipos, asociando en una base de datos interna los tríos Extensión-tipoMIME-Aplicación. Este es el motivo por el que no es necesario declarar manualmente el tipo MIME asociado a una imagen GIF, ya que el navegador viene configurado para «conocer» ese tipo de ficheros y saber cómo abrirlo (en este caso, lo abre el propio navegador).

Cuando instalamos un nuevo plugin (una pequeña aplicación), éste accede a dicha base de datos y se asocia a un tipo concreto de extensión de fichero y de tipo MIME, de tal forma que, posteriormente, cuando vayamos a abrir uno de los ficheros asociados a dicha aplicación, el navegador sabe cómo interpretar el fichero y qué aplicación debe llamar para su ejecución.

Los navegadores web soportan diferentes tipos MIME, lo cual les permite recibir archivos de imágenes, de audio y de vídeo, applets de Java, ficheros de realidad virtual, etc., a través de Internet.

Los principales tipos MIME soportados por los navegadores web son:

Tipo MIME


image/bmp
image/x-windows-bmp
image/gif
image/jpeg
image/jpeg
image/png


audio/basic
audio/x-au
audio/midi
audio/x-midi
audio/x-wav
audio/mod
audio/x-mod
audio/mpeg3
audio/x-mpeg-3
audio/x-pn-realaudio
audio/x-pn-realaudio


video/avi
video/x-motion-jpeg
video/quicktime
video/mpeg
application/x-shockwave-flash

Extensión


.bmp, .bm
.bmp
.gif
.jpe
.jpg
.png


.au, .snd
.au
.mid, .midi
.mid, .midi
.wav
.mod
.mod
.mp3
.mp3
.ra, .ram
.ra, .ram


.avi
.mjpg
.mov
.mpg
.swf

Otro tema a tener en cuenta a la hora de hablar de tipos MIME es el del servidor web en el que tengáis alojadas vuestras páginas. Dicho equipo también debe tener configuradas las extensiones MIME adecuadas, ya que si no, no sabrá el tipo de datos que le estamos pidiendo, por lo que no podrá enviarlos adecuadamente.

Generalmente, lo servidores de hosting de sitios web proporcionan un documento con las extensiones MIME soportadas, lo que limita el tipo de ficheros que podemos alojar en el servidor, y en consecuencia,el tipo de ficheros que podremos usar en nuestras páginas.

En caso de duda, lo mejor es ponerse en contacto con el responsable de soporte del servidor web, que nos podrá informar de los tipos MIME soportados y de las posibles ampliaciones para dar cobertura a nuestros ficheros.

Luciano Moreno
Departamento de diseño web de BJS Software