<-
Apache > Servidor HTTP > Documentaci�n > Versi�n 2.4

Uso de los Handlers en Apache

Idiomas disponibles:  en  |  es  |  fr  |  ja  |  ko  |  tr  |  zh-cn 

Este documento describe el uso de los Handlers en Apache.

Support Apache!

Consulte tambi�n

top

�Qu� es un Handler?

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:

top

Ejemplos

Modificar contenido est�tico usando un script CGI

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.

Archivos con cabeceras HTTP

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>
top

Nota para programadores

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.

Idiomas disponibles:  en  |  es  |  fr  |  ja  |  ko  |  tr  |  zh-cn 

top

Comentarios

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.