Versión 2.4 del Servidor HTTP Apache

Este documento describe el uso de los Handlers en Apache.
| Módulos Relacionados | Directivas Relacionadas | 
|---|---|
Un "handler" es una representación interna de Apache de una acción que se va a ejecutar cuando hay una llamada a un fichero. Generalmente, los ficheros tienen handlers implícitos, basados en el tipo de fichero de que se trata. Normalmente, todos los ficheros son simplemente servidos por el servidor, pero algunos tipos de ficheros se tratan de forma diferente.
Handlers pueden ser usados de manera explicita, basándose en la extensión del fichero o en la ubicación en la que esté, se pueden especificar handlers sin tener en cuenta el tipo de fichero que se trate. Esto es una ventaja por dos razones. Primero, es una solución más elegante. Segundo, porque a un fichero se le pueden asignar tanto un tipo como un handler. (Consulte también la sección Ficheros y extensiones múltiples.)
Los Handlers pueden tanto ser compilados con el servidor
    como incluidos en un módulo, o añadidos con la
    directiva Action. Los
    handlers que vienen incluidos en el core con el servidor de la distribución
    estándar de Apache son:
default_handler(), que es el handler
      usado por defecto para tratar contenido
      estático. (core)mod_asis)mod_cgi)mod_imagemap)mod_info)mod_status)mod_negotiation)Las siguientes directivas hacen que cuando haya una
      petición de ficheros con la extensión
      html se lance el script CGI
      footer.pl.
        Action add-footer /cgi-bin/footer.pl
        AddHandler add-footer .html
      
En este caso, el script CGI es el responsable de enviar el
      documento originalmente solicitado (contenido en la variable de
      entorno PATH_TRANSLATED) y de hacer cualquier
      modificación o añadido deseado.
Las siguientes directivas activan el handler
      send-as-is, que se usa para ficheros que contienen
      sus propias cabeceras HTTP. Todos los archivos en el directorio
      /web/htdocs/asis/ serán procesados por el
      handler send-as-is, sin tener en cuenta su
      extension.
<Directory "/web/htdocs/asis">
    SetHandler send-as-is
</Directory>
    
  Para implementar las funcionalidades de los handlers, se ha
    hecho un añadido a la API de
    Apache que puede que quiera usar. Para ser más
    específicos, se ha añadido un nuevo registro a la
    estructura request_rec:
char *handler
Si quiere que su módulo llame a un handler , solo tiene
    que añadir r->handler al nombre del handler
    en cualquier momento antes de la fase invoke_handler
    de la petición. Los handlers se implementan siempre como se
    hacía antes, aunque usando el nombre del handler en vez de un
    tipo de contenido. Aunque no es de obligado cumplimiento, la
    convención de nombres para los handlers es que se usen
    palabras separadas por guiones, sin barras, de manera que no se
    invada el media type name-space.