<-
Apache HTTP 服务器 2.4 > 筛选器

筛选器

本文档介绍了Apache中过滤器的用法。

支持Apache!

也可以看看

最佳

在Apache 2中过滤

过滤器链在Apache 2.0及更高版本中可用,并且使应用程序能够以高度灵活且可配置的方式处理传入和传出的数据,而不管数据来自何处。我们可以随意处理传入数据,并进行后期处理。这基本上独立于传统的请求处理阶段。

过滤器可以在与请求处理正交的数据轴中链接

标准Apache发行版中的一些过滤示例如下:

Apache还内部使用了许多过滤器来执行诸如组块和字节范围处理之类的功能。

第三方过滤器模块可实现更广泛的应用,这些模块可从modules.apache.org和其他地方获得。其中一些是:

最佳

智能过滤

智能筛选根据请求处理的状态应用不同的筛选器提供程序

mod_filter,包括在Apache 2.1和更高版本中,可在运行时动态配置过滤器链。因此,例如,您可以设置代理以使用HTML过滤器重写HTML,并使用完全独立的过滤器重写JPEG图像,尽管该代理没有有关原始服务器将发送的内容的事先信息。这通过使用筛选器工具来工作,该工具在运行时根据实际内容调度到不同的提供程序。任何过滤器都可以直接插入链中并无条件运行,也可以用作提供者并动态插入。例如,

最佳

将筛选器作为HTTP服务公开

过滤器除了用于使用mod_reflector模块处理服务器上的内容外,还可用于处理来自客户端的内容 。

mod_reflector 接受来自客户端的POST请求,并在响应中将POST请求中收到的内容请求主体反映回响应中,并在返回客户端的过程中通过输出筛选器堆栈。

此技术可以用作在应用程序服务器堆栈中运行的Web服务的替代方法,其中输出过滤器提供请求主体上所需的转换。例如,该mod_deflate 模块可能用于提供常规压缩服务,或者图像转换过滤器可能变成了图像转换服务。

最佳

使用过滤器

有两种使用过滤的方法:简单和动态。通常,您应该使用其中一个。混合它们会产生意想不到的后果(尽管简单的输入过滤可以与简单的或动态输出过滤自由混合)。

简单方法是配置输入过滤器的唯一方法,对于需要静态过滤器链的输出过滤器来说足够了。相关的指令是 SetInputFilterSetOutputFilterAddInputFilterAddOutputFilterRemoveInputFilter,和 RemoveOutputFilter

如页面中所述,动态方式可实现输出滤波器的静态和灵活,动态配置mod_filter。相关的指令是 FilterChainFilterDeclareFilterProvider

AddOutputFilterByType仍然支持另一个指令,但已弃用。请改用动态配置。

可用语言: zh  |  es  |  fr  |  ja  |  ko  |  TR 

最佳

注释

注意:
这不是“问答”部分。此处放置的评论应指向有关改进文档或服务器的建议,如果实施或被认为无效/偏离主题,我们的主持人可以将其删除。有关如何管理Apache HTTP Server的问题,应直接指向我们的IRC频道#httpd(位于Freenode上),或发送至我们的邮件列表
目前,此页面已禁用评论。