一 调用流程
淘宝过滤模块的讲解 Nginx模块开发之http过滤器filter
① 过滤模块的位置
- 1)content阶段后会生成'返回'给用户的响应内容
-
- 2)'filter模块'可以对响应内容做'再加工'处理后返回给客户端
-
- 3)按照'先处理header',再'处理body'的顺序
-
- 备注:有一些模块只能做对'header'、有一些模块只能做对'body'、有一些二者皆可'filter'
② 有哪些filter模块
③ 思考
二 sub模块 了解
- 如何'启用'这个模块: --with-http_sub_module
-
- 场景:修改'响应内容中(body)'的字符串;如过滤'敏感词'
-
- 补充: 使用场景比较'狭窄',一般nginx只是作为'转发'
细节点: 如果'sub'模块不生效,尝试修改为'*',看是否是资源类型的原因
⑤ 案例讲解
+++++++++++ '对比实验1' +++++++++++
对比: 忽略'大小写'、可以使用'变量';只修改'一次'
对比: 多次替换,传递'Last-Modified'响应头
⑤ 第三方substitutions_filter
第三方模块ngx_http_substitutions_filter_module,可以采用'正则表达式'替换
⑥ 答疑1
⑦ 答疑2
① 概述
- 添加的内容: '不同'的位置添加对应'子请求uri'的返回结果;'不修改'原始响应
-
- 类比: 跟'装饰器的功能'类似、与html中的'iframe'有点类似
-
- 场景: 可以用来给'web应用'加个copyright
- 解读: 在响应正文'之前'添加给定的子请求而返回的文本
-
- 备注: uri为"空字符串"时,将'取消'从先前配置级别'继承'的配置值
⑤ 案例
四 gzip模块