Servidores Web
 

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).