对于Web应用程序来说,filter是一个驻留在服务器端的Web组件,它可以截取客户端和资源之间的请求和响应的信息,并对这些信息进行过滤。
在请求资源时,过滤器链中的过滤器将依次对请求进行处理,并将请求传递到下一个过滤器,知道资源目标;而在响应请求时,则按照相反的顺序对响应进行处理,知道客户端。
过滤器并不是一定必须要将请求传递给下一个过滤器(或目标资源),它也可以自行对请求进行处理,然后发送响应给客户端,或者将请求转发给另一个目标资源。
过滤器在Web开发中的一些主要应用:
- 对用户请求进行统一认证。
- 对用户的访问请求进行记录和审核。
- 对用户发送的数据进行过滤或替换。
- 转化图像格式。
- 对响应内容进行压缩,减少传输量。
- 对响应和请求进行加解密处理。
- 触发资源访问事件。
- 对XML的输出应用XSLT.