nginx:HTTP过滤模块的调用流程

Nginx开发一个简单的HTTP过滤模块 阅读详情

在content阶段时,会生成返回给用户的响应内容,对用户的响应内容,实际上还要做加工处理,HTTP过滤模块就是对响应内容做加工处理的。

就是在content阶段之后,log阶段之前去介入请求处理

 

 

 gzip_filter 必须要在 copy_filter模块之后。

gzip_filter需要对内存中的内容做压缩

copy_filter把文件中的内容拷贝一份到内存中,供gzip进行压缩

 

一.sub模块(替换响应中的字符串)

功能:将响应中指定的字符串,替换成新的字符串

ngx_http_sub_filter_module模块:默认未编译金nginx,通过--with-http_sub_module启用

1.sub_filter指令

 语法:sub_filter string replacement;

默认:空

放置位置:http,server,location

2.sub_filter_last_modified指令

语法:sub_filter_last_modified  on | off;

默认:sub_filter_last_modified off;

放置位置:http,server,location

3.sub_filter_once指令(只替换一次)

语法:sub_filter_once  on | off;

默认:sub_filter_once on;

放置位置:http,server,location

4.sub_filter_types指令(针对什么类型的文件进行替换)

语法:sub_filter_types mime-type ...;

默认:sub_filter_types text/html;

放置位置:http,server,location

 

二.addition模块

功能:在响应前或者响应后增加内容,而增加内容的方式是通过新增子请求的响应完成。

模块:ngx_http_addition_filter_module。默认未编译进nginx,通过--with-http_addition_module启用。

1.add_before_body指令(在body之前添加一些内容,让nginx访问uri,根据子请求的内容,增加到body之前)

语法:add_before_body uri;

默认:空

放置位置:http,server,location

2.add_after_body 指令

语法:add_after_body uri;

默认:空

放置位置:http,server,location

3.addition_types指令 (指定特殊类型才能使用此指令)

语法:addition_types mime-type ...;

默认:addition_types text/html;

放置位置:http,server,location

 

 

 

 

 

【Nginx学习】5步 vs 0基础:Nginx HTTP过滤模块开发全揭秘,调用顺序与官方模块对比 Nginx 自带了一些默认的HTTP过滤模块,这些模块提供了丰富的功能。功能:延迟响应,直到所有子请求完成。使用场景:在SSI(Server Side Includes)中,确保所有嵌入的内容都已加载。功能:压缩响应内容,减少传输时间。使用场景:适用于大文本响应,提高传输效率。功能:处理SSI指令,动态生成内容。使用场景:在HTML页面中嵌入动态内容,如日期、时间等。功能:转换响应内容的字符集。使用场景:确保响应内容以正确的字符集显示。功能:添加或修改响应头。使用场景。 阅读详情

相关推荐

【Nginx学习】5步 vs 0基础:Nginx HTTP过滤模块开发全揭秘,从零开始到实战

结构体定义了模块的基本信息,包括模块类型、配置处理函数、命令数组等。

java专栏 2064

nginx配合sub_filter和subs_filter修改title

安装subs_filter模块下载解压配置文件# 添加统一的标题# 添加标题’ ‘;’ ‘’ ig r;# 只替换一次。

weixin_38689747的博客 1103

【Nginx学习】5步 vs 0基础:Nginx HTTP过滤模块开发与调用顺序全揭秘,你也能成为高手

结构体定义了模块的基本信息,包括模块类型、配置处理函数、命令数组等。

java专栏 1065

nginx proxy_pass + sub_filter 替换响应内容

nginx替换响应内容

sayyy的专栏 9959

【Nginx学习】5步 vs 0基础:Nginx HTTP过滤模块开发全揭秘,调用顺序与链表详解

结构体定义了模块的基本信息,包括模块类型、配置处理函数、命令数组等。

java专栏 943

【Nginx学习】5步 vs 0基础:Nginx HTTP过滤模块开发全揭秘,你也能成为高手

结构体定义了模块的基本信息,包括模块类型、配置处理函数、命令数组等。

java专栏 1692

Nginx subs_filter模块替换文本

NGINX添加subs_filter模块 https://cloud.tencent.com/developer/article/1142155 Nginx 配置 server { listen 9990; root /usr/local/nginx/html; index index.php; location ~* (logo.png)$ { rewrite ^/ http://xxxxxxx/static/image/logo.png;

u012706554的专栏 1466

【Nginx学习】深入 Nginx:5大步骤揭秘 Nginx 使用统一管道过滤器模式的 HTTP 过滤模块

Nginx 的 HTTP 过滤模块采用了统一管道过滤器模式,这种模式通过一系列过滤器(filter)对 HTTP 响应进行处理,每个过滤器负责特定的任务。这种设计使得 Nginx 可以灵活地扩展和组合不同的过滤器,提高请求处理的效率和灵活性。关键特点:过滤器链:多个过滤器组成一个链,每个过滤器负责特定的任务。统一接口:所有过滤器都实现统一的接口,便于管理和扩展。可插拔性:过滤器可以动态插入或移除,灵活配置。

java专栏 990

NGINX sub_filter和subs_filter 指令讲解

在 NGINX 中,sub_filter 和 subs_filter 是两个用于替换响应内容中字符串的指令,它们主要用于反向代理和修改响应内容。

匠人精神,持之以恒! 3001

【Nginx学习】3步 vs 0基础:Nginx HTTP过滤模块开发全揭秘,轻松处理请求中的HTTP头部

结构体定义了模块的基本信息,包括模块类型、配置处理函数、命令数组等。

java专栏 1367

Fluent温度超限调试:从能量方程到网格优化的实战指南

本文深入解析Fluent中温度超限问题的诊断与解决方法,从能量方程机制到网格优化策略,提供实战指南。通过分析温度与焓的换算关系,探讨典型场景如能量方程发散、局部网格质量差等,并给出五步调试法及高级命令应用,帮助工程师有效解决温度计算异常问题。

weixin_29045585的博客 530

Nginx 响应过滤模块 ngx_http_addition_module

欢迎大家关注本博,同时欢迎大家评论交流,可以给个赞哦!!!   ngx_http_addition_module是一个过滤器,可以在响应之前和响应之后添加文本。   默认安装时,Nginx未构建此模块,应使用–with-http_addition_module配置参数启用它。   响应过滤模块 配置安装   首先切换到Nginx源码目录,运行./configure --without-http_gzip_module --with-http_addition_module命令。 cd /securiti.

键盘上流淌的日子 2171

Ferromagnetic soft continuum robots

本文来自机器人领域顶刊,Science Robotics。介绍了一种铁磁软连续体机器人,主要贡献为1)介绍了一个基于磁性微粒和聚合物的软连续体机器人的制造方法,在机器人外表面涂了一层水凝胶,极大地降低了摩擦阻力;2)并研究了在磁场下,不同粒子体积分数下,此机器人的驱动性能;利用手动操控的磁铁,进行了许多实验证明该机器人性能的优异性。 铁磁软连续体机器人 Ferromagnetic soft continuum robots [1] Paper Link Authors: Kim, Yoonho, et al

XU Yangxin的博客 1372

【摘自张宴的"实战:Nginx"】nginx模块开发

Nginx的模块不能够像Apache那样动态的加载,所以模块都要预先编译进Nginx的二进制可执行文件中。 Nginx的模块有三种角色: 1. Handler(处理模块) 用于处理Http请求并输出内容 2.Filters(过滤模块) 用于过滤Handler输出的内容 3.Load-balancer(负载均衡模块) 当有多台服务器供选择时,选择一台服务器并将HTT...

weixin_30729609的博客 145

SNAP新手避坑指南:手把手教你搞定Sentinel-2影像的镶嵌与重采样(附详细参数)

本文为SNAP新手提供Sentinel-2影像处理的详细指南,重点讲解镶嵌与重采样的关键步骤和参数设置。通过实际案例和常见问题解决方案,帮助用户避免常见错误,高效完成遥感影像处理任务。

weixin_29271263的博客 406

Java后端中的链路追踪:使用OpenTelemetry实现全链路监控

在现代的微服务架构中,链路追踪是监控和优化系统性能的关键技术。通过链路追踪,我们可以跟踪请求在系统中的流转,识别性能瓶颈,定位问题根源。本文将介绍如何在Java后端应用中使用OpenTelemetry实现全链路监控,包括具体的实现步骤和代码示例。通过集成OpenTelemetry,您可以实现全面的链路追踪,帮助您识别瓶颈和潜在问题,从而提升系统的可靠性和用户体验。OpenTelemetry是一个开源项目,旨在提供统一的工具集来收集、处理和导出应用程序的遥测数据,包括跟踪、度量和日志。

聚娃科技开发者博客 1727

Nginx 架构篇 - 详解Http过滤模块的调用流程

上节梳理了http执行的11各阶段,下面我们开始学习http过滤模块的调用流程,有想了解执行流程和原理的同学翻我以前的笔记。 替换响应中的字符串:sub模块 功能:将响应中的指定字符串,替换成新的字符串。本模块可以在nginx的回应中查找和替换文本.在编译nginx时必需加上–with-http_sub_module option location / { sub_filter &...

stark张宇 1467

CD-HIT的使用

继续我的生信笔记系列。从某网站的附带文献中读到该工具,搜索了一下,发现网上的大佬们都在讲如何用它去冗余,相对官方页面的介绍而言很是片面,于是刚好有聚类的需求的我准备对其全体功能做做实验,学习一下由李伟忠博士在伯纳姆研究所(现为桑福德伯纳姆医学研究所)亚当·戈兹克博士的实验室开发的牛工具。 首先是官方介绍: CD-HIT是一个非常广泛使用的程序,用于蛋白质或核苷酸序列的聚类和比较。最初由李伟忠博士在伯纳姆研究所(现为桑福德伯纳姆医学研究所)亚当·戈兹克博士的实验室开发,CD-HIT速度非常快,可以处理非常

一名学术waste的note pro 1万+

nginx过滤post请求头_Nginx:HTTP过滤模块

参考资料HTTP过滤模块也是一种HTTP模块,与普通HTTP处理模块不同在于:1.一个请求仅由一个HTTP处理模块处理,而可以被任意个HTTP过滤模块处理2.普通的HTTP模块倾向于完成请求的核心功能,而HTTP过滤模块所做的工作是对发送给用户的HTTP响应包做一些加工HTTP过滤模块的简单例子该过滤模块实现的功能是:用户的请求由static静态文件模块进行处理,根据URI返回磁盘中的文件给用户,...

weixin_39942492的博客 1843

用Keil5给CH552G编程:手把手配置8051开发环境+LED闪烁实战

本文详细介绍了如何使用Keil5为CH552G单片机配置8051开发环境,并完成LED闪烁实战。从获取必要软件、安装WCH器件库到创建工程、编写程序及烧录,手把手指导开发者避开常见陷阱,特别适合从STC转向CH552G的开发者。

weixin_30733003的博客 539

“守望先锋”网络同步分析

守望先锋”(Overwatch)是一款由暴雪娱乐开发的团队基础第一人称射击游戏(FPS),于2016年正式发布。游戏以其独特的角色设计、丰富的游戏模式和高度的团队合作性而受到广泛欢迎。类型:第一人称射击(FPS)/多人在线战斗竞技场(MOBA元素)平台玩家人数:每场比赛由两个六人队伍组成,共12名玩家。客户端/服务器模型:在这种模型中,客户端负责处理用户输入和表现逻辑,而服务器则负责游戏的核心逻辑和状态管理。客户端与服务器之间通过网络进行通信,确保游戏状态的一致性。强同步机制。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 427

Nginx学习笔记(八):HTTP过滤模块

前言 看了三天Nginx的访问第三方服务,大概的内容知道了,包括使用upstream以及subrequest,实质就是Nginx作为反向代理服务器。按照书中方法把代码实现了一遍,但是不知道根本,总归一句,就是对代码不熟。决定放弃这一章的梳理与总结,直接跳到简单过滤模块的开发这一章学习。 HTTP过滤模块

时间文盲的记事板 3391

AMS TMF8820/21/28 SPAD 掩码和模式选择

为了实现最快的测距周期,将报告周期设置在测距周期以下的毫秒,以确保不会有等待时间。除了8X8固定了pixel的位置意外,其他模式客户可以设计自己的spad掩码,并将spad单独分配给通道。对于这些spad掩码,有一些约束。左下角提示红色代表光学中心,绿色方框表示单个spad,每个MP里可能有2X3个spad,也有2X5个spad,也有3X6+3个spad,这部分适配光学,最大的程度的利用spad区域。以下是几种预定义的spad掩码,非常灵活的配置,来适配各种3X3,4X4,8X8的模式选择。

dream it possible 700

nginx http模块 http过滤模块

request    连接池    在linux系统中,每一个进程能够打开的文件描述符fd是有限的,而每创建一个socket就会占用一个fd,这样创建的socket就会有限的。在Nginx中,采用连接池的方法,可以避免这个问题。    Nginx在实现时,是通过一个连接池来管理的,每个worker进程都有一个独立的连接池,连接池的大小是worker_connecti

tycoon的专栏 1996

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Nginx基础. 开发HTTP过滤模块

1. HTTP过滤模块的地位, 作用与一般的HTTP模块是不同的, 一个请求可以被任意个HTTP过滤模块处理. 它所做的工作是对发送给用户的HTTP响应包做一些加工. 相较于"普通的HTTP模块更倾向于完成请求的核心功能, 比如static模块负责静态文件的处", HTTP过滤模块则处理一些附加的功能, 比如gzip过滤模块可以把发送给客户的静态文件进行压缩后处理再发出去; image_fi

博客 1672

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Nginx模块开发之http过滤器filter

一、过滤器模块简介。 二、Nginx相关数据结构介绍:ngx_module的数据结构、ngx_http_module数据结构、ngx_command数据结构。 三、Nginx过滤器模块开发:Nginx模块开发流程、Nginx 模块执行、示例代码、编写config文件、编译模块到Nginx源码中、执行效果。

Lion_Long的博客 2199

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: nginx:access日志的详细用法
下一篇: 牛客小白月赛26:A-牛牛爱学习
error0318
博客等级 码龄9年 57粉丝 515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值