Interfaz CGI
Interfaz CGI
Tradicionalmete el cliente (navegador) web accede a páginas ya
construidas y estáticas. Para que el usuario pueda interactuar con ella
y que se puedan construir páginas en función de sus necesidades,
se puede optar por dos alternativas:
- Programas ejecutados en el cliente, como JavaScript.
- Aplicaciones ejecutadas en el servidor y que devuelven páginas HTML,
gráficos, etc. como pueden ser los formularios (páginas) o los
contadores (imágenes).
La interfaz CGI es un mecanismo que permite la invocación de una
aplicación ejecutada en el servidor desde una página HTML que se
está viendo en un cliente. Tradicionalmete la aplicación
devolverá una página HTML al cliente o recogerá datos que
el cliente le envió.
Para ejecutar una aplicación CGI se puede hacer de varias maneras:
- Accediendo a su URL:
http://aqui.es/cgi-bin/prog.pl=param1=valor¶m2=valor
- Desde una página HTML, de varias formas:
- Desde una imagen:
<img src="http://aqui.es/cgi-bin/contador.pl?f=cnt.dat">
- Desde un formulario:
<form method="POST"
action="http://aqui.es/cgi-bin/prueba.pl">
- Un enlace al CGI:
<a
href="http://aqui.es/cgi-bin/prog.pl?variable=valor">Enlace a
CGI</a>
A las aplicaciones CGI se le pueden pasar parámetros de dos formas
distintas llamadas métodos, que se obtiene de la variable de
entorno REQUEST_METHOD:
- Método GET: Los parámetros forman parte de la URL, y
la aplicación los lee como variables de entorno. Se obtienen de la
variable de entorno QUERY_STRING, y la longitud de la cadena de
parámetros, de CONTENT_LENGTH.
http://aqui.es/cgi-bin/prog.pl=param1=valorA¶m2=valorB, donde
los parámetros serían param1 y param2, y sus
correspondientes valores, valorA y valorB
- Método POST: Los parámetros no forman parte de la URL
y se envían formando parte de la petición del protocolo http. La
aplicación CGI leerá los parámetros por la entrada
estándar.
El método utilizado,
La aplicación CGI devuelve el resultado por la salida
estándar, y la primera línea que envíe al cliente
será la que determine el tipo de resultado:
- Página HTML: print "Content-type: text/html\n\n"
- Página de texto simple: print "Content-type:
text/plain\n\n"
- Gráfico: print "Content-type: image/gif\n\n"
Después del tipo
de contenido siempre deben ir dos saltos de línea



