<-
Apache > Servidor HTTP > Documentação > Versão 2.4

Filtros

Línguas Disponíveis:  en  |  es  |  fr  |  ja  |  ko  |  pt-br  |  tr 

Este documento descreve o uso de filtros no Apache.

top

Filtrando no Apache 2

A Cadeia de Filtros está disponível no Apache 2.0 e versões posteriores, e permite que as aplicações processem dados de entrada e saída de maneira altamente flexível e configurável, independentemente de onde os dados vêm. Podemos pré-processar dados de entrada e pós-processar dados de saída, conforme necessário. Isso é basicamente independente das fases tradicionais de processamento de requisições.

Filtros podem ser encadeados, em um Eixo de Dados ortogonal ao Processamento de Requisição

Alguns exemplos de filtragem na distribuição padrão do Apache são:

O Apache também usa vários filtros internamente para executar funções como fragmentação e manipulação de intervalos de bytes.

Uma gama mais ampla de aplicações é implementada por módulos de filtro de terceiros. Alguns exemplos são:

top

Filtragem Inteligente

A filtragem inteligente aplica diferentes fornecedores de filtros de acordo com o estado do processamento da solicitação

O módulo mod_filter, incluído no Apache 2.1 e versões posteriores, permite que a cadeia de filtros seja configurada dinamicamente no momento da execução. Assim, por exemplo, você pode configurar um proxy para reescrever HTML com um filtro HTML e imagens JPEG com um filtro completamente separado, mesmo que o proxy não tenha nenhuma informação prévia sobre o que o servidor de origem enviará. Isso funciona usando um envoltório de filtros que direciona a requisição para diferentes provedores de acordo com o conteúdo real no momento da execução. Qualquer filtro pode ser inserido diretamente na cadeia e executado incondicionalmente ou usado como um provedor e inserido dinamicamente. Por exemplo,

top

Expondo Filtros como um Serviço HTTP

Os filtros podem ser usados ​​para processar conteúdo originado do cliente, além de processar conteúdo originado no servidor usando o módulo mod_reflector.

O módulo mod_reflector aceita requisições POST de clientes e reflete o conteúdo do corpo da requisição POST recebido de volta na resposta, passando pela pilha de filtros de saída no caminho de volta para o cliente.

Essa técnica pode ser usada como uma alternativa a um serviço web executado dentro de uma pilha de servidor de aplicativos, onde um filtro de saída fornece a transformação necessária no corpo da requisição. Por exemplo, o módulo mod_deflate pode ser usado para fornecer um serviço de compressão geral, ou um filtro de transformação de imagem pode ser transformado em um serviço de transformação de imagem.

top

Usando Filtros

Existem dois métodos de uso de filtros: Simples e Dinâmico. Em geral, deve ser usada apenas um ou outro; misturá-los pode ter consequências inesperadas (embora a filtragem de entrada simples possa ser misturada livremente com a filtragem de saída simples ou dinâmica).

O Método Simples é a única maneira de configurar filtros de entrada e é suficiente para filtros de saída onde é necessária uma cadeia de filtros estática. As diretivas relevantes são SetInputFilter, SetOutputFilter, AddInputFilter, AddOutputFilter, RemoveInputFilter e RemoveOutputFilter.

O Método Dinâmico permite a configuração estática e flexível/dinâmica dos filtros de saída, conforme discutido na página mod_filter. As diretivas relevantes são FilterChain, FilterDeclare e FilterProvider.

Uma diretiva adicional, AddOutputFilterByType também é suportada, porem obsoleta. Um a configuração dinâmica em seu lugar.

Línguas Disponíveis:  en  |  es  |  fr  |  ja  |  ko  |  pt-br  |  tr