Introducción a los CGIs

Para introducir un CGI en un WEB es necesario usar el lenguaje HTML. Existen tres formas de hacerlo:

  • Usando la etiqueta A:
    <a http="direccion_del_CGI">Texto</a>
  • Usando la etiqueta IMG:
    <img src="direccion_del_CGI">
  • Usando un formulario (este m�todo se tratar� m�s adelante en detalle):
    <form action="direccion_del_CGI" >
        <!-- Elementos del formulario -->
    </form>

El primer m�todo s�lo sirve para scripts sencillos y se us� en su d�a para crear mapas de im�genes situados en el servidor. Hoy en d�a no es muy usado.

El segundo m�todo suele servir para invocar un CGI que da como respuesta una imagen.

Un ejemplo de este tipo de uso son los contadores. En ellos, cuando el navegador llega a esta l�nea del c�digo HTML pide al servidor que le mande un archivo con el nombre direccion_del_CGI. El servidor se dar� cuenta que en realidad lo que debe hacer es ejecutar el programa de ese nombre. Este programa, que ser� un script CGI, busca en una base de datos (que puede ser m�s o menos complicada), cuantos accesos ha habido hasta ahora y env�a al navegador la imagen adecuada. La imagen ser� (como habr�s adivinado ya) un n�mero correspondiente al n�mero de visitas recibidas, incluida la tuya.

El tercer m�todo es sin duda el m�s vers�til y usado de todos, y en al que prestaremos mayor atenci�n de ahora en adelante. Su funci�n es procesar los datos provenientes de un formulario.

.�Un ejemplo simple

Vamos a entrar en materia creando un CGI simple, cuya funci�n ser� dar la hora actual cuando el usuario lo pida.

El c�digo HTML que se incluir� en la p�gina ser� el siguiente:

<a href="http://www.unsitio.es/cgi-bin/fecha">
  Dime la fecha
</a>

Cuando el navegante pulse sobre el texto Dime la fecha se enviar� una petici�n al servidor y se ejecutar� el CGI, tal y como hemos visto antes.

El programa necesario para generar la fecha es muy sencillo, as� que hemos elegido como lenguaje de programaci�n bash:

#!/bin/bash

echo Content-type: text/plain
echo
/bin/date

La primera l�nea simplemente dice que se debe usar el int�rprete de bash para ejecutar este programa, es necesario indicarlo siempre que programemos en bash.

Las dos l�neas siguientes usan el comando echo cuya funci�n es mandar el texto a continuaci�n por la entrada est�ndar. En el caso de los CGIs todo lo que vaya por la entrada est�ndar ser� recogido por el servidor Web y mandado al navegador. El est�ndar CGI establece que la primera l�nea que se env�e debe ser de la forma:

Content-type: Tipo Mime

En este caso el tipo Mime es text/plain para indicar que todo lo que vamos a enviar al navegador ser� texto. La l�nea siguiente a esta debe estar en blanco, lo que conseguimos con otra llamada al comando echo.

La �ltima l�nea del programa es la que realmente realiza toda la funcionalidad. Llama al programa de Unix /bin/date que devuelve la fecha actual por la entrada est�ndar. Entonces es mandada al Navegador que la muestra por pantalla.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP