varrojos atrium::Trivial HTTP Daemon 


Trivial HTTP Daemon - thttpd versión 2.0 

Introducción

Trivial HTTP Daemon o thttpd por conveniencia es un servidor de páginas web escrito 100% en Java.

Sus objetivos de diseño son ofrecer un médio para compartir información, el cual sea seguro, fácil de instalar y configurar, así como altamente potable entre distintos sistemas operativos y arquitecturas.

thttpd puede verse como un servidor de páginas "plug and play", se descomprime, se configura y se usa. Su bajo acoplamiento permite compartir archivos de cualquier tipo en cuestión de minutos y ser eliminado rápidamente cuando no es más necesario. Ideal para ser utilizado cuando todo lo demás falla.

Su uso es gratuito pero se encuentra sujeto a los términos contrato de licencia adjuntos en en archivo release  notes.txt

Requerimientos

A pesar de ser diseñado para ser una aplicación al estilo "plug and play", el servidor presenta una serie de requerimientos de configuración para su uso.

  •  Java Rutime Environment, versión 1.5.0. El servidor fue escrito y probado utilizando la JDK 1.5.0 update 6.
  •  Configuración de cortafuegos (firewall) si existe uno, para permitir aceptar y responder a conexiones entrantes.
  • Configuración de la aplicación!!

Configuración

Para configurar el servidor basta con editar el archivo thttpd.conf incluido con la aplicación. Puede editarse utilizando tu editor favorito (excepto notepad o word).

El archivo de configuración se encuentra completamente documentado, por lo cual los usuarios encontrarán muy sencilla la tarea de editar los valores para ajustarse a sus necesidades únicas.

Los archivos de configuración pueden moverse de un equipo a otro para agilizar el proceso de puesta en marcha.

Iniciando el Servidor

Para inciar el servidor debemos asegurarnos que el archivo de configuración thttpd.conf se encuentra en el mismo directorio o carpeta que el archivo trivialhttpd.jar. Inicia una consola, ve a esa carpeta y ejecuta el comando

java -jar trivialhttpd.jar

ya esta!! El servidor escucha en el puerto configurado en el archivo de configuración. Para acceder a él utilizamos cualquier navegador e ingresamos la dirección del servidor seguida de :<#puerto>.

Saliendo del Servidor

Para salir, se debe seleccionar la consola que inició el servidor y presionar Control + C. De momento no hay otra forma de terminar el servidor que esta.

Tipos de Archivos Soportados

La versión 1.0 del servidor thttpd solo se soportaban archivos de caracteres, es decir, de extensión .txt, .rtf, .html, etc.

La versión del servidor thttpd 2.0 soporta archivos de cualquier tipo, incluyendo imagenes, sonidos y música, entre otros. 

Acceso a Archivos

El servidor necesita que sea especificado lo que se conoce como una raíz de documentos (document root), la cual representa la raíz a partir de la cual se servirán todos los archivos (recursivamente hacia abajo en la jerarquía).

La raíz de documentos es una ruta que se agregar a los pedidos de archivos para permitir su localización en el sistema de archivos del equipo que esta ejecutando la aplicación. 

Supón que thttpd esta escuchando en un equipo de nombre "Archivos", en el puerto 3307, el cual contiene un archivo de nombre invitados.txt. 

Para acceder a este archivo abrimos un navegador de Internet, como Mozilla Firefox por ejemplo, e ingresamos la dirección http://Archivos:3307/invitados.txt 

El servidor "Archivos" tomará /invitados.txt y se lo agregará a la raíz de documentos. Luego, pedirá a su sistema operativo dicho archivo y lo mandará a través de la red a quien lo solicitó. (Nota que  de esta manera obtenemos un subsistema de seguridad "gratis" por así decirlo. Hablaremos de esto en la siguiente sección.)

En caso de que un archivo no sea encontrado, el servidor enviará un mensaje de 404 - File Not Found. No se soportan espacios en los nombres de archivo o en los directorios que los contienen.

El servidor también puede accederse mediante su dirección IP.

Seguridad

Hasta la versión actual del servidor thttpd no se ha desarrollado un subsitema propio de seguridad, sino que se utiliza el subsistema del sistema operativo que alberga la aplicación.

Esto funciona de la siguiente manera: como la aplicación debe ejecutar en nombre de un usuario específico (quien inició la aplicación) y como la aplicación debe pedir los archivos al sistema operativo, los archivos que no pueden ser accedidos por el usuario, tampoco pueden ser servidos por el servidor.

A pesar de que este enfoque nos lleva a un esquema de seguridad fuerte en sistemas Unix y Linux, también puede lleva a problemas de seguridad en sistemas Microsoft Windows. La mejor práctica de seguridad es no colocar bajo la raíz de documentos los archivos que no quieres compartir. Consecuentemente, no compartas las raices de los sistemas de archivos (/ en Unix/Linux o C:\ en Microsoft Windows).

Tampoco es recomendable ejecutar el servidor con permisos de administrador.  

Autor, Créditos

Trivial HTTP Daemon, thttpd, diseñado y desarrollado por Alejandro Segovia.

Para más información consultar los vínculos debajo.

email: varrojo@adinet.com.uy

Homepage: http://varrojos.googlepages.com

Blog: http://varrojo.blogspot.com

Descargas

  • Ejecutable.

    Contiene el programa Java ejecutable. Se agradece enviar notas, comentarios, sugerencias para continuar mejorando el producto.