SuperAPI AI 工具集

nginx-c-module-design

设计与创作

查看项目

更新于 10-16 03:46

技能介绍

用途:为 nginx C 模块作者提供指令设计规范,指导决定哪些值应暴露为指令、如何命名、如何选择参数类型与作用域,以及如何安全地演进指令。属于设计层面的“做什么与为什么”,实现机制另见 nginx-c-modules,性能见 nginx-c-perf,调试见 nginx-c-debug。

主要能力:按影响优先级组织为 8 类规则。暴露决策(expose-,关键)覆盖可配置值与硬编码的取舍、逃生开关、功能门控、避免过度配置、外部资源路径与安全面审计;命名约定(naming-,关键)要求统一模块前缀、子前缀分组、名词优先、避免自定义缩写、与核心后缀一致、仅小写加下划线;指令类型(type-,高)建议开关用 NGX_CONF_FLAG、已知值集用枚举、时间与大小用对应槽函数、固定参数用 TAKE1/TAKE2/TAKE12、变长列表用 1MORE、避免块指令、复杂解析用自定义处理器;作用域设计(scope-,高)默认 http+server+location、共享资源限 http 级、连接级用 http+server、未充分测试不支持 if 上下文、路径路由限 location;默认值(default-,中高)要求零配置安全、性能特性选择加入、安全默认收紧、超时默认宽松、数值零表示无限或禁用、缓冲区大小按平台感知;校验与错误信息(valid-,中)要求解析时校验、错误中包含无效值、提示有效范围或格式、合并时检测冲突、给出可操作建议;变量设计(var-,中)仅暴露每请求运行时数据、命名带模块前缀、动态前缀用于键值数据、利用惰性求值、仅在需要每请求变化时支持指令值中的变量、暴露只读诊断变量;演进与兼容(compat-,低中)要求移除前记录弃用警告、保留旧名为别名、维持多版本弃用窗口、在旧新指令文档中说明迁移路径。

使用方式:按需阅读各参考文件,包括 _sections.md(类别定义与顺序)与 _template.md(新增规则模板),元数据见 metadata.json。

限制:资料未提供具体命令、安装方式、收费信息及完整代码示例细节,未涉及的具体实现与性能数据暂未提供。