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 dediferentes tipos
de ficheros no ASCII en las aplicaciones por Internet (imágenes,
vídeos, sonidos, etc.), surgió la necesidad de transformar
estos formatos a 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 mail 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 dió 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 por defecto configurados 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 fichero" - "tipo MIME"
- "aplicación necesaria". 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.
En
ocasiones necesitamos declarar un tipo MIME o tipo de fichero manualmente;
en estos casos, y para Internet Explorer en sistemas Windows, tendremos
que ir al Explorador de Windows, menú Herramientas > Opciones
de Carpeta > Tipos de archivo, declarando allí la nueva asociación.
En el caso de Nestcape Navigator, tendremos que ir al menú Edición
> Preferencias > Aplicaciones.
Los
navegadores web soportan diferentes tipos MIME, lo cual les permite
recibir archivos de imágenes, de audio y de video, applets de
Java, ficheros de realidad virtual, etc., a través de Internet.
Los
principales tipos Mime soportados por los navegadores web son:
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 debe tener también 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 covertura a
nuestros ficheros.
Luciano
Moreno
Departamento de diseño web de BJS Software