Ejercicios de protocolo HTTP e introducción a las aplicaciones web
Pruebas con protocolo HTTP
Vamos a realizar pruebas de conexion HTTP, simulando ser clientes y servidores:
-
Utilizando el programa que simula ser un cliente HTTP que tenéis en la plantilla (paquete cliente, clase ClienteHTTP), solicitar la siguiente URL:
http://www.ua.es/index.htm
Para ello como host deberéis indicar www.ua.es, y como petición la siguiente:
GET /index.htm HTTP/1.1 Host: www.ua.es:80
NOTA: es importante respetar los saltos de la línea: uno para terminar la petición GET y otro para dejar una línea en blanco al final de la petición. También es importante si indicamos HTTP 1.1 añadir la cabecera Host obligatoriamente.
- Comprobar fecha de última modificación del documento devuelto (cabecera Last-Modified de la respuesta)
-
Utilizar la cabecera If-Modified-Since en la petición con una fecha anterior a la obtenida. Por ejemplo podemos poner como cabecera:
GET /index.htm HTTP/1.1 Host: www.ua.es:80 If-Modified-Since: Wed, 21 May 2003 08:00:00 GMT
- Probar ahora con una fecha posterior a la fecha de última modificación. ¿Qué respuesta obtenemos en este caso?
Anotad las respuestas a las pruebas obtenidas en un fichero de texto dentro del proyecto
-
Utilizando el programa que simula ser un servidor HTTP que tenéis en la plantilla (paquete servidor, clase ServidorHTTP), hacer lo siguiente:
-
Utilizar un navegador para hacer un petición HTTP a nuestro servidor de prueba. Podemos poner una URL como la siguiente:
http://localhost:1080/index.htm
Observar en el servidor espía la petición que ha hecho el navegador. ¿Qué información ha enviado el navegador en esta petición? ¿Cómo se identifica el navegador (versión + sistema operativo)?
- Abrir la página HTML form_get.htm con cualquier navegador web. Introducir datos en el formulario y enviar una petición. Esta petición se estará realizando al servidor espía instalado. Observar en este servidor la petición realizada. ¿Cómo se han enviado los datos del formulario?
- Vamos a hacer lo mismo que en el apartado anterior, pero con la página form_post.htm. ¿Qué diferencia hay entre esta petición y la realizada en el caso anterior? ¿Cómo se envían los datos introducidos en el formulario?
- (*)Hacer una solicitud cualquiera desde el navegador al servidor espía. Decirle al navegador (con un código de estado apropiado) que la página no está en la dirección que solicita, y hacer (enviando la cabecera necesaria) que en su lugar se dirija inmediatamente a la página principal de la Universidad de Alicante.
Anotad las respuestas a las pruebas obtenidas en un fichero de texto dentro del proyecto
-
Pruebas con Tomcat
Vamos a probar el servidor web Tomcat y a subir recursos estáticos a él.
-
Instalar y poner en marcha el servidor web Tomcat. Comprobar que está activo accediendo a la siguiente URL desde cualquier navegador:
http://localhost:8080/
-
Copiar el fichero pagina.htm (podrás encontrarlo en las plantillas de la sesión) a la aplicación raíz (ROOT) instalada por defecto en Tomcat. Comprobar que se puede acceder correctamente a este recurso introduciendo la siguiente URL
http://localhost:8080/pagina.htm
Instalar una aplicación web sencilla
Ahora vamos a crear un nuevo contexto (aplicación web) en Tomcat, que contendrá únicamente recursos estáticos (HTML).
- Crear un nuevo subdirectorio en ${tomcat.home}/webapps para nuestra nueva aplicación. Por ejemplo podemos llamar prueba a este directorio.
- Crear la estructura de directorios necesaria dentro del directorio de la nueva aplicación. Introducir el fichero pagina.htm de la plantilla y el descriptor de despliegue (web.xml), situando cada uno de estos ficheros en el directorio que corresponda.
-
Poner en marcha Tomcat y comprobar que este nuevo contexto se carga correctamente. Para comprobar su correcto funcionamiento podemos acceder a la URL
http://localhost:8080/prueba/pagina.htm
Si hemos utilizado otro nombre para el directorio de nuestra aplicación web, sustituir prueba por el nombre que hayamos elegido.
Una vez instalada y funcionando, guarda en el proyecto un fichero ZIP con el contenido de la estructura de la aplicación (comprime el directorio de la aplicación dentro de webapps y añádelo al proyecto, como muestra de lo que se te ha quedado instalado en Tomcat).