Alguien

Bolo Lacertus lacertus@servidor.unam.mx
Tue, 08 Sep 1998 13:37:50 -0500


Saludos!!!

Muy bien, la preguna de Marco nos lleva al tenebroso terreno de:

Los MIME TYPES

Marco Antonio Cruz Hernandez wrote:
> Alguien sabe que debo de incluir en los archivos del web y en que
> archivo  para que los archivos .bmp me los abra como tal y no los
> intente abrir como una pagina. El web que tengo esta en un equipo unix
> hp9000

Antes que nada una observación, es medio complicado el crear .bmp en
perl, y lo es aún mas el considerarlo como un estandar, quizá el emplear
.gif o .jpg sea mas adecuado para emplearlos por Web, revisa los módulos
de Perl para estos tipos, hay unos buenos.

Pero bueno, a la pregunta.

Recordarás que al principio de la página de respuesta de todos los CGI
debe ponerse un $cgi->heaer, el propósito es que al principio de la
forma o página resultante aparezca algo que se ve como:

"Content Type: text/html

"
(Lo que está entre comillas)

Esto es el Mime Type de la página, como el CGI podría regresar lo que
fuera, el httpd no puede inferir, digamos, de su extención, el tipo de
la respuesta, por esto se requiere de información adicional.

Para que la respuesta de tu CGI no sea una página html (o un texto) sino
cualquier otro tipo mime, basta con que el header especifique el tipo
correcto (no será agradable el resultado si no se especifica el tipo
correcto).
Ahora, cada browser en cada máquina tiene un archivo llamado mime.types,
en el que define todos sus tipos mime reconocidos, si el tipo que una
"pagina" no se encuentra, tomará el default y tratará de abrirlo como
texto/html (que usualmente es el default).

Asi pues, en mi browser (netscape) y creo que en cualquiera otro, el
mime type de las gráficas .bmp es:
image/x-MS-bmp
y requiere de un plugin incluido por defecto para presentarse.
JPEG por ejemplo es:
image/jpeg

Me parece que si al imprimir el Header (suponiendo que usas CGI.pm para
ello) puedes hacer:

cgi->header("image/x-MS-bmp");
(Mejor si revisas la documentación de CGI por si me falta algo)

Recuerda que una vez que especificas el tipo MIME de la respuesta, no
puedes mezclarlo, no puedes iniciar, digamos, con una gráfica y despues
querer poner HTML, si deseas que el HTML y la gráfica sean generados al
momento, deberás hacer dos CGI, uno de los cuales ponga una liga "comun"
de tipo imagen al segundo, de modo que en la página generada por el
primer CGI, aparezca la gráfica generada por el segundo.

Bueno, espero que este panorama general te sea de utilidad, no dejes de
revisar la documentación de CGI.pm, los módulos que te permiten
construir GIF y JPEG y los Mime Types de las respuestas que generes para
que no haya malos entendidos con los browsers, por ejemplo, da muchos
dolores de cabeza que una vez que Netscape determina que un CGI o
archivo es de un tipo Mime, no reacciona a cambios en el tipo sino hasta
que lo terminas por completo y lo vuelves a iniciar.

Le deseo suerte con su contador de páginas o lo que este haciendo:
Daniel Sol
-- 
Bolo Lacertus: lacertus@servidor.dgsca.unam.mx			==~\___\
http://132.248.71.81/cgi-bin/lacertus/hola			 =__vvvv
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/GE/GED d>d? s:+ a-- C++>+++$ US++ P+++>++++$ L E? W++>+++ N+ o? K- 
w--- O !M V- PS+ PE->-- Y+ PGP+ t+ 5? X- R@ tv-- b++>- DI+ D+ G+>++
e+>++ 
h* r-(*) z+ 
------END GEEK CODE BLOCK------
--------- Pie de mensaje --------------------------------
Visite: http://tlali.iztacala.unam.mx/~randrade/perl.shtml
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text   : cancelacion perl