Saltar a: navegación, buscar

Servidor HTTP Cherokee

Cherokee
Información sobre la plantilla
Cherokee.png

Servidor HTTP Cherokee. Cherokee es un servidor web que desarrolla una nueva implementación de este tipo de aplicación, con una serie de características y funcionalidades concretas, basado principalmente en los tres puntos siguientes: velocidad, flexibilidad y capacidad de ser empotrado.

Principales características

Este servidor Web implementa una librería para dotar a toda clase de aplicaciones de servicios web de una forma fácil y rápida. En su desarrollo se realiza un esfuerzo especial en mantener un core reducido -de forma tal que pueda utilizarse en sistemas empotrados- y efectuar todas las funcionalidades como módulos cargables en tiempo de ejecución. Igualmente, la alta eficiencia y una arquitectura lo suficientemente flexible como para poder escalar a servidores SMP son características de Cherokee que pueden suponer un paso adelante respecto a los servidores web libres existentes.

Librería

Entre sus principales características se encuentra la librería: libcherokee, la cual implementa las características básicas de un servidor web, facilitando cargar desde módulos muchas otras. Esta arquitectura modular se seleccionó para admitir cargar y ejecutar solamente las partes y funcionalidades que necesarias en cada caso específico. De esta forma, se ahorran recursos, se aumenta la seguridad (menos código en ejecución implica menos posibilidad de existir un bug en él) y se disminuye ligeramente la carga del servidor web.

Módulos

Existen tres grandes grupos de módulos cargables: handlers, encoders, validators.

Handlers

Los handlers son manejadores de peticiones. Cuando el servidor procesa una petición, decide que clase de manejador debe de utilizar para responder a dicha petición. Dependiendo del módulo, la tendrá una u otra respuesta. Cherokee añade el concepto de asociación de manejadores a directorios, de forma tal que el usuario pueda definir qué manejador desea utilizar en cada uno de los directorios servidos por web. Actualmente, se distribuyen los siguientes manejadores dentro del paquete principal de Cherokee:

  • file: Sirve ficheros al cliente
  • dirlist: Construye una página con lista de los ficheros contenidos en un directorio
  • redir: Redirecciona peticiones
  • nn: Basado en el algoritmo de "Near Neighbors" atiende las peticiones recibidas con una respuesta simple positiva
  • gnomevfs: Utiliza las librería de GNOME-VFS para atender las peticiones, de forma que es posible que sea el servidor web el que exporte ficheros localizados en ubicaciones accesibles bajo otros protocolos: NNTP, FTP, HTTP (en este caso trabajaría de proxy), etc.

Encoders

Por otra parte, los encoders son módulos que realizan una funcionalidad de conversión de la información que se va a enviar a los clientes. En la actualidad, el encoder más utilizado es el de GZip. Este módulo compacta la información que se sirve antes de enviarla a los clientes, ahorrando ancho de banda y acelerando la transmisión.

Validadores

Los validadores, por su parte, son los módulos que efectúan posibles formas de validar a los usuarios. Cherokee implementa módulos para validar con LDAP, PAM y htpasswd.
Todos los módulos son configurables en tiempo de ejecución, normalmente mediante cadenas de texto que procesa libcherokee.

Ver además

Fuentes

  • LOPEZ, ALVARO. 2003. Cherokee Web server. 84-88783-66-3.