NGINX变量求值

NGINX中的某些指令正在使用ngx_http_compile_complex_value(&ccv)来编译变量,并使用ngx_http_complex_value()来在运行时获取指令参数的原始值。 同样,其他一些指令也使用ngx_http_script_compile(&sc)和ngx_http_script_run()实现相同的目标。

请问这两者之间的区别是什么?

邀请回答
提问于 2021-03-27 21:09
57 次浏览
共2个回答

发表评论
  • 皮皮鲁
    2021-04-01 21:32

    自问自答了。看了一下代码,感觉ngx_http_compile_complex_value和ngx_http_script_compile是两套实现,前者对后者进行了封装,使用起来应该更方便。

    比如,如果有一个指令需要支持复杂变量,使用ngx_http_compile_complex_value只需要定义一个ngx_http_complex_value_t变量就可以。但是使用ngx_http_script_compile需要定义flushes,lengths,variables一系列数组。。


    1
    回复
    举报
  • 阿尔巴
    2021-03-30 10:10

    有同类疑问。。。

    0
    回复
    举报
提问者

皮皮鲁

暂无个人介绍

  • 26

    文章

  • 19

    粉丝

  • 19

    被赞

皮皮鲁
按Enter键发送
您已邀请位用户
版权所有©F5 Networks,Inc.保留所有权利。京ICP备16013763号-5