ngx_http_index_t

定义在 src\http\modules\ngx_http_index_module.c

复制代码
typedef struct {
    ngx_str_t                name;
    ngx_array_t             *lengths;
    ngx_array_t             *values;
} ngx_http_index_t;

该结构体用于 存储和解析 index 指令中单个索引文件的信息 ,支持静态文件名和动态文件名(含变量)
name(文件名)

lengths(动态长度计算代码)
  • 类型ngx_array_t *,指向一个动态数组。
  • 作用
    • 存储 变量长度的计算指令,用于动态生成文件名时确定其长度。
  • 逻辑
    • 当文件名包含变量时(如 $uri/index.html),Nginx 会通过 ngx_http_script_compile 编译变量表达式,生成 lengths 数组。
    • 在运行时,Nginx 执行 lengths 中的指令,计算动态文件名的总长度(例如变量 $uri 的值长度 + /index.html 的长度)。
values(动态值生成代码)
  • 类型ngx_array_t *,指向一个动态数组。
  • 作用
    • 存储 变量值的生成指令,用于动态拼接实际文件名。
  • 逻辑
    • lengths 类似,values 存储变量解析的代码,但用于生成具体的文件名内容。
    • 在运行时,Nginx 执行 values 中的指令,将变量替换为实际值(如将 $uri 替换为当前请求的 URI),最终生成完整的文件名。
相关推荐
迎仔20 小时前
11-云网络与混合云运维:弹性数字世界的交通管理
网络·安全·web安全
Trouvaille ~20 小时前
【Linux】应用层协议设计实战(二):Jsoncpp序列化与完整实现
linux·运维·服务器·网络·c++·json·应用层
pitch_dark20 小时前
渗透测试系统基础篇——kali系统
网络·安全·web安全
独行soc20 小时前
2026年渗透测试面试题总结-20(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
EmbedLinX20 小时前
嵌入式之协议解析
linux·网络·c++·笔记·学习
凉、介20 小时前
VMware 三种网络模式(桥接 / NAT / Host-Only)原理与实验解析
c语言·网络·笔记·操作系统·嵌入式·vmware
Aliex_git20 小时前
跨域请求笔记
前端·网络·笔记·学习
小白电脑技术21 小时前
飞牛漏洞焦虑?别瞎折腾WAF了!用Lucky五步搞定“防爬墙”
服务器·网络·安全
tzy23321 小时前
极简版本的 TCP / IP 协议栈介绍
网络·网络协议·tcp/ip
tod11321 小时前
TCP全连接队列与tcpdump抓包
网络·网络协议·tcp/ip·github·tcpdump