Menu
Servidor: MIME TYPES
MIME es un acrónimo de extensiones multipropósito de correo de internet (Multipurpose Internet Mail Extensions)
Se trata de un standard que especifica como debe un programa (inicialmente un programa de correo o un navegador web) trasferir archivos multimedia (video, sonido, por extensión cualquier archivo que no esté codificado en US-ASCII). Con anterioridad al desarrollo de las extensiones MIME, cualquier archivo que no se limitase a texto ascii debía ser codificado a estos caracteres (uuencode uudecode).
MIME adjunta un archivo de cabecera a cada archivo, especificando el tipo y el subtipo del contenido del archivo principal. Gracias a esta información tanto el servidor como el navegador pueden manejar y presentar correctamente los datos.

La importancia de los MIME TYPES
En el uso diario de internet estamos beneficiandonos (y a veces sufriendo) los MIME TYPES. Cada vez que solicitamos una página de internet se abre un diálogo entre nuestro navegador y el server. Nuestro navegador pide la página. El servidor, antes de enviarla, nos confirma que ese recurso existe, y el tipo de datos que contiene. Esto último, mediante referencia al tipo MIME al que corresponde. Este diálogo, oculto al usuario, es parte de las cabeceras HTTP, protocolo que se sigue en la web.
Por ejemplo, estas cabeceras HTTP mandadas por una página de inicio:
HTTP/1.0 200 OK Date: Thu, 24 Jul 2003 21:20:18 GMT Server: Apache/1.3.26 (Unix) Fedoracore2 GNU/Linux mod_gzip/1.3.19.1a PHP/4.2.3 v2h/1.5.1 X-Powered-By: PHP/4.2.3 Set-Cookie: lang=spanish; expires=Fri, 23-Jul-04 21:20:18 GMT Content-Type: text/html Age: 1
La primera línea especifica que está en uso el protocolo HTTP 1.0, y que la respuesta del servidor a la página solicitada es correcta. Las siguientes lineas se refieren a la identidad del server y a una cookie. A continuación en negrita el server avisa del tipo mime de la página: text/html . Con esta información, el navegador sabe como debe presentar los datos que recibe.
En la edición web la indicación de los MIME TYPES puede o debe hacerse en tres lugares diferentes: en el propio servidor, que debe ser capaz de manejar el tipo MIME concreto (y indicar al navegador el tipo de datos que envia); en la propia página web, y en el navegador del usuario
- El servidor debe estar capacitado para manejar diversos mime types, y estar ademas habilitado para ello. Por ejemplo en un servidor Apache podemos especificar el tipo MIME por defecto para aquellos archivos que el server no pueda identificar automaticamente como pertenecientes a un tipo concreto:
DefaultType text/plain
- El autor de la página web referencia tipos MIME constantemente: El link a un archivo externo (una hoja de estilo, un script javascript) puede (recomendado) especificar el tipo:
<link rel="stylesheet" href="mi_hoja_de_estilo.css" type="text/css ">
<script language="JavaScript" type="text/javascript" src="scripts/mijavascript.js">
El tipo MIME puede especificarse como atributo en otras etiquetas HTML, como object o form (atributo enctype ).
Y por supuesto, con las etiquetas <meta HTTP-EQUIV:... podemos hacer que la página participe en el diálogo server-cliente, especificando datos MIME
- Por ultimo el navegador del cliente tambien participa; no solamente ha de estar capacitado para interpretar el concreto MIME type que el server le envia, tambien puede, en el dialogo previo al envio de datos, informar que MIME types puede aceptar: la cabecera http_accept
Tipos MIME definidos en los servidores:
System-wide defined MIME types |
| application/andrew-inset |
ez |
| application/mac-binhex40 |
hqx |
| application/mac-compactpro |
cpt |
| application/mathml+xml |
mathml |
| application/msword |
doc |
| application/octet-stream |
bin dms lha lzh exe class so dll |
| application/oda |
oda |
| application/ogg |
ogg |
| application/pdf |
pdf |
| application/postscript |
ai eps ps |
| application/rdf+xml |
rdf |
| application/smil |
smi smil |
| application/srgs |
gram |
| application/srgs+xml |
grxml |
| application/vnd.mif |
mif |
| application/vnd.mozilla.xul+xml |
xul |
| application/vnd.ms-excel |
xls |
| application/vnd.ms-powerpoint |
ppt |
| application/vnd.wap.wbxml |
wbxml |
| application/vnd.wap.wmlc |
wmlc .wmlc |
| application/vnd.wap.wmlscriptc |
wmlsc .wmlsc |
| application/voicexml+xml |
vxml |
| application/x-bcpio |
bcpio |
| application/x-cdlink |
vcd |
| application/x-chess-pgn |
pgn |
| application/x-cpio |
cpio |
| application/x-csh |
csh |
| application/x-director |
dcr dir dxr |
| application/x-dvi |
dvi |
| application/x-futuresplash |
spl |
| application/x-gtar |
gtar |
| application/x-hdf |
hdf |
| application/x-httpd-php |
.php .php4 .php3 .phtml |
| application/x-httpd-php-source |
.phps |
| application/x-javascript |
js |
| application/x-koan |
skp skd skt skm |
| application/x-latex |
latex |
| application/x-netcdf |
nc cdf |
| application/x-pkcs7-crl |
.crl |
| application/x-sh |
sh |
| application/x-shar |
shar |
| application/x-shockwave-flash |
swf |
| application/x-stuffit |
sit |
| application/x-sv4cpio |
sv4cpio |
| application/x-sv4crc |
sv4crc |
| application/x-tar |
tar .tgz |
| application/x-tcl |
tcl |
| application/x-tex |
tex |
| application/x-texinfo |
texinfo texi |
| application/x-troff |
t tr roff |
| application/x-troff-man |
man |
| application/x-troff-me |
me |
| application/x-troff-ms |
ms |
| application/x-ustar |
ustar |
| application/x-wais-source |
src |
| application/x-x509-ca-cert |
.crt |
| application/xhtml+xml |
xhtml xht |
| application/xml |
xml xsl |
| application/xml-dtd |
dtd |
| application/xslt+xml |
xslt |
| application/zip |
zip |
| audio/basic |
au snd |
| audio/midi |
mid midi kar |
| audio/mpeg |
mpga mp2 mp3 |
| audio/x-aiff |
aif aiff aifc |
| audio/x-mpegurl |
m3u |
| audio/x-pn-realaudio |
ram rm |
| audio/x-pn-realaudio-plugin |
rpm |
| audio/x-realaudio |
ra |
| audio/x-wav |
wav |
| chemical/x-pdb |
pdb |
| chemical/x-xyz |
xyz |
| image/bmp |
bmp |
| image/cgm |
cgm |
| image/gif |
gif |
| image/ief |
ief |
| image/jpeg |
jpeg jpg jpe |
| image/png |
png |
| image/svg+xml |
svg |
| image/tiff |
tiff tif |
| image/vnd.djvu |
djvu djv |
| image/vnd.wap.wbmp |
wbmp .wbmp |
| image/x-cmu-raster |
ras |
| image/x-icon |
ico |
| image/x-portable-anymap |
pnm |
| image/x-portable-bitmap |
pbm |
| image/x-portable-graymap |
pgm |
| image/x-portable-pixmap |
ppm |
| image/x-rgb |
rgb |
| image/x-xbitmap |
xbm |
| image/x-xpixmap |
xpm |
| image/x-xwindowdump |
xwd |
| model/iges |
igs iges |
| model/mesh |
msh mesh silo |
| model/vrml |
wrl vrml |
| text/calendar |
ics ifb |
| text/css |
css |
| text/html |
html htm .shtml .jsp |
| text/plain |
asc txt |
| text/richtext |
rtx |
| text/rtf |
rtf |
| text/sgml |
sgml sgm |
| text/tab-separated-values |
tsv |
| text/vnd.wap.wml |
wml .wml |
| text/vnd.wap.wmlscript |
wmls .wmls |
| text/x-setext |
etx |
| video/mpeg |
mpeg mpg mpe |
| video/quicktime |
qt mov |
| video/vnd.mpegurl |
mxu |
| video/x-msvideo |
avi |
| video/x-sgi-movie |
movie |
| x-conference/x-cooltalk |
ice |
|