next up previous contents
Next: Los scripts Gestionando Datos Up: La Interacción entre el Previous: La Interacción entre el   Índice General

Ejecutando scripts

Un URL puede identificar un fichero que contiene un programa, en lugar de un documento HTML. De modo que este programa debe ser ejecutado cuando el usuario activa ese enlace.

La diferencia entre un fichero que contiene un documento HTML y un programa está en el modo y/o el lugar en que está almacenado en el servidor. Por razones de seguridad, la mayoría de los servidores Web no ejecutarán un fichero (aunque el fichero tenga los permisos de ejecución) a menos que esté colocado en un directorio determinado, o tenga una extensión apropiada. Incluso si un usuario puede crear y colocar su propia página Web, quizás no tenga permisos para escribir en ese directorio. Normalmente habrá que consultar al administrador del servidor Web, habitualmente conocido como webmaster para poder colocar los scripts en el directorio apropiado. El directorio que almacena los scripts CGI suele llamarse cgi-bin.

Cuando el servidor ejecuta el programa indicado en el URL, como resultado de la ejecución se produce un documento HTML que es mandado de retorno al cliente, y que es mostrado en el browser sin que se pueda apreciar la diferencia con un documento normal.

Estos programas llamados scripts CGI pueden estar escritos en cualquier lenguaje que se pueda ejecutar sobre la máquina que mantiene el servidor Web. Habitualmente se suelen escribir en C, TCL o Perl [7]. Los programas escritos en C son más rápidos, pero los scripts escritos en el shell o en Perl son más adecuados para el tipo de manipulación de textos que se suele realizar. En este curso, los ejemplos serán escritos en C, ya que es un lenguaje de programación universal, y esto justifica su uso, aunque no sea el más apropiado para tratar cadenas de caracteres. La mayoría de los scripts CGI y bibliotecas de herramientas CGI [3] están escritas en Perl, por lo que recomendamos su aprendizaje y manejo, aunque este punto queda fuera de este curso por razones de brevedad.

Como ejemplo podemos ver un script CGI (cgi-bin/hola) escrito en el lenguaje de comandos del shell cuyo resultado será un documento HTML con un mensaje de bienvenida.

#!/usr/bin/ksh
echo "Content-type: text/html"
echo ""
echo "<HTML>"
echo "<HEAD><TITLE>hola</TITLE></HEAD>"
echo "<BODY>hola.</BODY></HTML>"
echo "</HTML>"

Al que se invoca con el documento siguiente:

<HTML>
<HEAD>
<TITLE> Script CGI </TITLE>
</HEAD>
<BODY>
<P>Pulsa 
<A HREF="http://descartes.dcs.fi.uva.es/cgi-bin/hola">aquí</A>
para recibir un saludo.</P>
</BODY>
</HTML>


next up previous contents
Next: Los scripts Gestionando Datos Up: La Interacción entre el Previous: La Interacción entre el   Índice General
Jesús Vegas 2003-03-13