JSRUN 用代码说话

handler 模块简介

编辑教程

handler 模块简介

相信大家在看了前一章的模块概述以后,都对 Nginx 的模块有了一个基本的认识。

基本上作为第三方开发者最可能开发的就是三种类型的模块,即 handler,filter 和 load-balancer。

Handler 模块就是接受来自客户端的请求并产生输出的模块。

有些地方说 upstream 模块实际上也是一种 handler 模块,只不过它产生的内容来自于从后端服务器获取的,而非在本机产生的。

在上一章提到,配置文件中使用 location 指令可以配置 content handler 模块,当 Nginx 系统启动的时候,每个 handler 模块都有一次机会把自己关联到对应的 location上。

如果有多个 handler 模块都关联了同一个 location,那么实际上只有一个 handler 模块真正会起作用。

当然大多数情况下,模块开发人员都会避免出现这种情况。

handler 模块处理的结果通常有三种情况:

  • 处理成功
  • 处理失败(处理的时候发生了错误)
  • 拒绝去处理。

在拒绝处理的情况下,这个 location 的处理就会由默认的 handler 模块来进行处理。

例如,当请求一个静态文件的时候,如果关联到这个 location 上的一个 handler 模块拒绝处理,就会由默认的 ngx_http_static_module 模块进行处理,该模块是一个典型的 handler 模块。

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟