En este ejercicio debes instalar una CGI básica en tu
servidor web. Esta CGI consta de dos ficheros:
- hola.cgi: script muy sencillo,
en lenguaje BASH, que lanza la ejecución de una
CGI escrita en Java, y le pasa todas sus variables
de entorno.
- HolaCgi.java: CGI escrita
en lenguaje Java, que muestra la dirección IP del
cliente que realizó la solicitud.
Cada máquina del laboratorio dispone de un servidor
web (Apache). Puedes colocar documentos y CGIs en el
servidor:
- Documentos
estáticos: los ficheros almacenados en el
directorio lib/www/"ruta" de tu cuenta serán servidos
por el servidor para peticiones con la siguiente
ruta: /login/"ruta". Por ejemplo,
con la petición
http://doc001.lab.it.uc3m.es/100099999/prueba/prueba.html
el servidor devolverá el siguiente fichero de la cuenta del
alumno 100099999:
~100099999/lib/www/prueba/prueba.html
- CGIs:
los ficheros almacenados en el
directorio lib/www/cgi-bin/"fichero.cgi" de tu cuenta serán ejecutados
por el servidor como CGIs para peticiones con la siguiente
ruta: /100099999/cgi-bin/"fichero.cgi". Por ejemplo,
con la petición
http://doc001.lab.it.uc3m.es/100099999/cgi-bin/hola.cgi
el servidor ejecutará el siguiente fichero:
~100099999/lib/www/cgi-bin/hola.cgi
Apartado 1
Instala en el servidor web la CGI anterior, y comprueba
su funcionamiento. Para ello, puede ser necesario que
modifiques las variables JAVA y CLASES del script.
Recuerda que el servidor web debe tener permiso de ejecución
para la CGI, de lectura para HolaCgi.class, y de acceso
a todos los directorios superiores
tanto a la CGI como al fichero HolaCgi.class.
Apartado 2
Modifica la CGI para que muestre las meta-variables
más importantes, así como el contenido de su entrada estándar.
Apartado 3
Conecta el formulario del ejercicio 3 de la práctica 2
con esta CGI. Prueba todos los mecanismos de envío de
parámetros vistos en dicha práctica, y observa el contenido de
la meta-variable QUERY_STRING y de la entrada estándar
cuando se utiliza cada uno de ellos.
Apartado 4
Modifica la CGI del apartado 2 para que envíe una cookie
al servidor, cuyo valor sea un número aleatorio. Comprueba
que, la siguiente vez que se conecta el mismo cliente,
la meta-variable HTTP_COOKIE tiene el contenido adecuado.
|