Saltar la navegación

5.1.- Programación de un servidor HTTP.

Estudiante sentado de espalda trabajando con ordenador y un libro.

Antes de lanzarnos a la programación del servidor HTTP, vamos a recordar o conocer cómo funciona este protocolo y a sentar las hipótesis de trabajo.

El servidor que vamos a programar cumple lo siguiente:

  • Se basa en la versión 1.1 del protocolo HTTP.
  • Implementará solo una parte del protocolo.
  • Se basa en dos tipos de mensajes: peticiones de clientes a servidores y respuestas de servidores a clientes.
  • Nuestro servidor solo implementará peticiones GET.

Para crear un servidor HTTP o servidor web, el esquema básico a seguir será:

  • Crear un socketServer asociado al puerto 80 (puerto por defecto para el protocolo HTTP).
  • Esperar peticiones del cliente.
  • Acceptar la petición del cliente.
  • Procesar petición (intercambio de mensajes según protocolo + transmisión de datos).
  • Cerrar socket del cliente.

A continuación, vamos a programar un sencillo servidor web que acepte peticiones por el puerto 8066 de un cliente que será tu propio navegador web. Según la URL que incluyas en el navegador, el servidor contestará con diferente información. Los casos que vamos a contemplar son los siguientes:

  • Al poner en tu navegador http://locahost:8066, te dará la bienvenida.
  • Al poner en tu navegador http://localhost:8066/quijote, mostrará un párrafo de el Quijote.
  • Al poner en tu navegador una URL diferente a las anteriores, como por ejemplo http://localhost:8066/a, mostrara un mensaje de error.

Recuerda detener o parar el servidor, una vez lo hayas probado, antes de volver reiniciarlo.

En el siguiente enlace dispones del proyecto java completo:

Autoevaluación

Pregunta 1

Señala si la afirmación siguiente es verdadera o falsa:

El método GET lo utiliza el servidor para enviar información al cliente.