首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

nginx模块开发入门(9) -4 Filters

2013-10-10 
nginx模块开发入门(九) -4 Filters4. Filters注:本节事例http/modules/ngx_http_chunked_filter_module.cF

nginx模块开发入门(九) -4 Filters
4. Filters
  
    注:本节事例http/modules/ngx_http_chunked_filter_module.c

    Filter操作handler生成的响应。头部filter操作HTTP头,body filter操作响应的内容。

4.1. 剖析Header Filter
Anatomy of a Header Filter



    Header Filter由三个步骤组成:

   1. 决定何时操作响应
   2. 操作响应
   3. 调用下一个filter

    举个例子,比如有一个简化版本的"not modified" header filter:如果客户请求头中的If- Modified-Since和响应头中的Last-Modified相符,它把响应状态设置成304。注意这个头部filter只读入一个参数:ngx_http_request_t结构体,而我们可以通过它操作到客户请求header和一会将被发送的响应response header。

return ngx_http_next_body_filter();


     因此,如果filter顺利链执行到了链尾(那个特别定义的的”write“filter),将返回一个"OK"响应,但如果执行过程中遇到了错误,链将被砍断,同时Nginx将给出一个错误的信息。这是一个单向的,错误快速返回的,只使用函数引用实现的链表。帅啊!

热点排行