当前位置: 首页 > news >正文

PC端网站开发以及设计费用搜索引擎推广

PC端网站开发以及设计费用,搜索引擎推广,广东党员两学一做考试网站,县政府网站问题建设调研报告09_Nginx_filter模块1. 什么是filter2.filter的形式3. filter的调用3.1 ngx_http_send_header3.1 ngx_http_output_filter刚接触 filter模块的我是懵的,只知道这是个过滤报文和响应头的。不清楚怎么用。那么今天,就扒一扒 filter1. 什么是filter 让我真…

09_Nginx_filter模块

  • 1. 什么是`filter`
  • 2.`filter`的形式
  • 3. `filter`的调用
    • 3.1 `ngx_http_send_header`
    • 3.1 `ngx_http_output_filter`

刚接触 filter模块的我是懵的,只知道这是个过滤报文和响应头的。不清楚怎么用。
那么今天,就扒一扒 filter

1. 什么是filter

让我真正明白filter的是这句话

HTTP过滤模块仅处理 服务器发往客户端的HTTP响应,而不处理客户端发往服务器的HTTP请求

很清晰,这个明白了filter的定位,
在Nginx中,HTTP响应被分为两个部分,HTTP头部和HTTP包体。所以,过滤模块就会有选择的只处理HTTP头部或者HTTP包体。

2.filter的形式

filter的形式是以列表的形式

链表的每一个元素都是一个独立的C源代码 文件,而这个C源代码文件会通过两个static静态指针(分别用于处理HTTP头部和HTTP包 体)再指向下一个文件中的过滤方法。

这两个指针在HTTP框架中的定义如下,指向链表的第一个元素,这个单链表我有点困惑。

typedef ngx_int_t (*ngx_http_output_header_filter_pt)(ngx_http_request_t *r);
typedef ngx_int_t (*ngx_http_output_body_filter_pt)(ngx_http_request_t *r, ngx_chain_t *chain);

3. filter的调用

明白了filter的定位,自然而然可以知道filter的调用位置。
在发送HTTP响应的时候,我们会调用两个函数,分别发送HTTP响应头(ngx_http_send_header)和HTTP响应体(ngx_http_output_filter);那么在这两个函数中,就会调用filter,下面为两个函数源代码。

3.1 ngx_http_send_header

ngx_int_t
ngx_http_send_header(ngx_http_request_t *r)
{if (r->post_action) {return NGX_OK;}if (r->header_sent) {ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0,"header already sent");return NGX_ERROR;}if (r->err_status) {r->headers_out.status = r->err_status;r->headers_out.status_line.len = 0;}// 此处是从ngx_http_top_header_filter过滤模块开始遍历所有的HTTP头部过滤模块return ngx_http_top_header_filter(r);
}

3.1 ngx_http_output_filter

ngx_int_t
ngx_http_output_filter(ngx_http_request_t *r, ngx_chain_t *in)
{ngx_int_t          rc;ngx_connection_t  *c;c = r->connection;ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0,"http output filter \"%V?%V\"", &r->uri, &r->args);//此处是从ngx_http_top_body_filter过滤模块开始遍历所有的HTTP包体过滤模块rc = ngx_http_top_body_filter(r, in);if (rc == NGX_ERROR) {/* NGX_ERROR may be returned by any filter */c->error = 1;}return rc;
}

http://www.lbrq.cn/news/2407465.html

相关文章:

  • 阿里做外贸的网站关键词优化seo费用
  • 做网站赌博代理没有盈利违法吗可以投放广告的网站
  • 自己建网站免费今天的新闻
  • 苏州工业园区规划建设委员会网站友情链接模板
  • 最佳建站模板关键字查找
  • sns社交网站 建设网上有免费的网站吗
  • 中国做网站推广哪家好网络营销的常用工具
  • 沈阳公司网站制作seo百科
  • 网站互动推广google seo实战教程
  • 全球新冠最新数据报告seo外链推广员
  • 注入漏洞网站源码百度2020新版下载
  • 在家做网站或ps挣钱接活整合营销传播的概念
  • wordpress雪人主题宁波企业seo推广
  • 网站总体规划设计说明重庆seo代理计费
  • 石家庄最新大事百度seo官方网站
  • 云虚拟主机搭建网站谷歌搜索引擎首页
  • 代帮企业做网站上海全网营销推广
  • 做网站什么空间比较好深圳整站seo
  • 凯里网站制作域名排名查询
  • 网页设计案例教程杨松答案app优化方案
  • 做网站一般做几个尺寸点击进入官方网站
  • 深圳网站建设引流获客工具
  • 温州设计集团网站建设热点时事新闻
  • 杭州网站建设哪个好爱站网挖掘关键词
  • 国外网站设计公司河南整站百度快照优化
  • 网站建设找美橙互联整合营销传播的明显特征是
  • 工信部网站备案查询百度网站链接提交入口
  • 自己做简单网站价格互联网销售
  • wordpress app登陆seo排名公司
  • 网站定制开发流程google play应用商店
  • 创新几何解谜游戏,挑战空间思维极限
  • Effective Python 条款13:通过带星号的unpacking操作来捕获多个元素,不要用切片
  • Python关于numpy的基础知识
  • Django3 - Web前端开发基础 HTML、CSS和JavaScript
  • 初探:C语言FILE结构之文件描述符与缓冲区的实现原理
  • Ansible + Shell 服务器巡检脚本