Versi�n 2.4 del Servidor HTTP Apache
Este documento describe c�mo usar filtros en Apache.
M�dulos Relacionados | Directivas Relacionadas |
---|---|
La cadena de filtrado est� disponible en Apache 2.0 y superiores. Un filtro es un proceso que se aplica a los datos que se reciben o se env�an por el servidor. Los datos enviados por los clientes al servidor son procesados por filtros de entrada mientras que los datos enviados por el servidor se procesan por los filtros de salida. A los datos se les pueden aplicar varios filtros, y el orden en que se aplica cada filtro puede especificarse expl�citamente. Todo este proceso es independiente de las tradicionales fase de peticiones
Algunos ejemplos de filtrado en la distribuci�n est�ndar de Apache son:
mod_include
, implementa server-side includes (SSI).mod_ssl
, implementa cifrado SSL (https).mod_deflate
, implementa compresi�n y descompresi�n en el acto.mod_charset_lite
, transcodificaci�n entre diferentes juegos de caracteres.mod_ext_filter
, ejecuta un programa externo como filtro.Los filtros se usan internamente por Apache para llevar a cabo funciones tales como chunking y servir peticiones de byte-range. Adem�s, los m�dulos contienen filtros que se pueden seleccionar usando directivas de configuraci�n al iniciar el servidor.
Una mayor amplitud de aplicaciones son implementadas con m�dulos de filtros de terceros que estan disponibles en modules.apache.org y en otros lados. algunos de ellos son:
mod_filter
, incluido en Apache 2.1 y posterior,
habilita la cadena de filtrado para ser configurada din�micamente en
tiempo de ejecuci�n. As�, por ejemplo, usted puede configurar un
proxy para que reescriba HTML con un filtro de HTML y im�genes JPEG
con filtros completos por separado, a pesar de que el proxy no tiene
informaci�n previa sobre lo que enviar� al servidor de origen.
Esto funciona usando un engranaje filtros, que env�a a diferentes
proveedores dependiendo del contenido en tiempo de ejecuci�n.
Cualquier filtro puede ser, ya sea insertado directamente en la
cadena y ejecutado incondicionalmente, o usado como proveedor y
a�adido din�micamente
Por ejemplo:
Los filtros pueden ser usados para procesar contenido originado
desde el cliente adem�s de usarse para procesar el contenido originado
desde el propio servidor usando el m�dulo mod_reflector
.
mod_reflector
acepta peticiones POST de los clientes, y
refleja el cuerpo de la petici�n POST recibida, dentro del contenido de la
respuesta de la petici�n, pasa a trav�s de la pila del filtro de salida en
el camino de vuelta al cliente.
Esta t�cnica se puede utilizar como una alternativa a un servicio web
que se ejecuta en una pila de de aplicaciones dentro del servidor,
en donde el filtro de salida proporciona la transformaci�n requerida en el
cuerpo de la petici�n. Por ejemplo, el m�dulo mod_deflate
puede ser usado para proporcionar un servicio de compresi�n general,
o un filtro de transformaci�n de imagen, puede ser convertido en un
servicio de conversi�n de im�genes.
Hay dos formas de usar el filtrado: de forma Simple y Din�mica. Generalmente, deber� usar una forma u otra; ya que mezclarlas puede causar consecuencias inesperadas (a pesar de que reglas de Entrada de tipo simple pueden ser combinadas libremente con reglas de filtrado de Salidas de tipo simple o din�mico).
La forma m�s sencilla es la �nica manera de configurar filtros de
Entrada, y es suficiente para filtros de Salida donde se necesita una
cadena de filtros est�tica.
Las directivas m�s relevantes son:
SetInputFilter
,
SetOutputFilter
,
AddInputFilter
,
AddOutputFilter
,
RemoveInputFilter
, and
RemoveOutputFilter
.
La forma Din�mica habilita ambas configuraciones est�tica, y din�mica, para los filtros de Salida, como se plantea en la p�gina mod_filter
.
Las directivas m�s relevantes son:
FilterChain
,
FilterDeclare
, and
FilterProvider
.
Una directiva m�s como es AddOutputFilterByType
sigue siendo
soportada pero esta obsoleta. Usa en cambio la configuraci�n din�mica.