过滤器(Filter)

优质
小牛编辑
147浏览
2023-12-01

本文阐述Apache中过滤器的用法。

Apache 2 中的过滤器

相关模块相关指令

Apache 2.0 及以后的版本中使用了过滤器链,使得应用程序能够以高度灵活的、可配置的方式处理进入的数据和输出的数据,而无需关心这些数据来自哪里。我们可以预处理进入的数据和后处理(post-process)输出的数据。这些过程基本上独立于传统的请求处理阶段。

智能过虑

使用过滤器

有两种使用过滤器的方法:简单方法和动态方法。通常,你应当使用两者之一;混合使用它们可能会导致意想不到的后果(虽然简单方法的输入过滤器可以和简单或动态方法的输出过滤器混合使用)。

简单方法是配置输出过滤器的唯一方法,并且对于需要静态过滤器链的输出过滤器来说是足够的。相关的指令有: SetInputFilter, SetOutputFilter, AddInputFilter, AddOutputFilter, RemoveInputFilter, RemoveOutputFilter

动态方法使输出过滤器能够进行静态的或者灵活的动态配置成为可能,详情请参见mod_filter模块文档。相关指令有: FilterChain, FilterDeclare, FilterProvider

一个更高级的指令AddOutputFilterByType也被支持,但是可能存在一些问题,目前还不赞成使用它,而代之以动态配置。