Handlers

Un handler es una representación interna de Apache de la acción a llevar a cabo cuando se solicita un fichero. Generalmente, los ficheros que Apache puede servir tienen un handler implícito que depende del tipo del fichero a servir. Normalmente, este handler implícito simplemente sirve el fichero, pero en ocasiones algunos tipos de archivos requieren un tratamiento especial: aquí entran en juego los handlers que el usuario provea explícitamente.

Un handler explícito se puede especificar de acuerdo al tipo (extensión) del fichero o bien a su localización dentro del sistema de ficheros (en cuyo caso se aplica a los ficheros de la localización sin tener en cuenta el tipo).

Los handlers se pueden crear dentro del propio servidor o bien incluidos como parte de un módulo. Una tercera vía para añadirlos es a través de una directiva Action, algo que veremos en la actividad práctica asociada a este tema. A continuación se listan los handlers que vienen incluidos en la distribución estándar de la última versión de Apache disponible en estos momentos (2.2), junto con un enlace al módulo que los define para consultar más información de los mismos en caso necesario:

  • default-handler: Envía el fichero usando el handler por defecto para tratar contenido estático (definido en core).
  • send-as-is: Envía el fichero con cabeceras HTTP tal y como es (mod_asis).
  • cgi-script: Trata el fichero como un script CGI (mod_cgi).
  • imap-file: Trata el fichero como un mapa de imágenes (mod_imagemap).
  • server-info: Extrae la información de configuración del servidor (mod_info).
  • server-status: Extrae el informe de estado del servidor (mod_status)
  • type-map:Trata el fichero como una correspondencia de tipos para la negociación de contenidos (mod_negotiation).

Podemos encontrar más información en: http://httpd.apache.org/docs/2.2/en/handler.html. La siguiente actividad práctica describe cómo gestionar los handlers de Apache que se añaden gracias a una directiva Action, que normalmente son usados cuando el usuario necesita incluir uno específico y no definido por el servidor en alguna parte de sus contenidos.
Last modified: Saturday, 31 July 2010, 1:22 AM