nginx的 ngx.var ngx.ctx ngx.req

ngx.var 是获取 Nginx 的变量,需要经历字符串 hash、hash 表查找等过程

ngx.ctx 仅仅是一个 Lua table 而已,它的引用存放在 ngx_lua 的模块上下文(ctx_ref)

使用 ngx.ctx 比 ngx.var 往往是更好的选择

 

https://moonbingbing.gitbooks.io/openresty-best-practices/content/openresty/inline_var.html

ngx.var的api

名称说明
$arg_name请求中的name参数
$args请求中的参数
$binary_remote_addr远程地址的二进制表示
$body_bytes_sent已发送的消息体字节数
$content_lengthHTTP请求信息里的"Content-Length"
$content_type请求信息里的"Content-Type"
$document_root针对当前请求的根路径设置值
$document_uri与$uri相同; 比如 /test2/test.php
$host请求信息中的"Host",如果请求中没有Host行,则等于设置的服务器名
$hostname机器名使用 gethostname系统调用的值
$http_cookiecookie 信息
$http_referer引用地址
$http_user_agent客户端代理信息
$http_via最后一个访问服务器的Ip地址。
$http_x_forwarded_for相当于网络访问路径
$is_args如果请求行带有参数,返回“?”,否则返回空字符串
$limit_rate对连接速率的限制
$nginx_version当前运行的nginx版本号
$pidworker进程的PID
$query_string与$args相同
$realpath_root按root指令或alias指令算出的当前请求的绝对路径。其中的符号链接都会解析成真是文件路径
$remote_addr客户端IP地址
$remote_port客户端端口号
$remote_user客户端用户名,认证用
$request用户请求
$request_body这个变量(0.7.58+)包含请求的主要信息。在使用proxy_pass或fastcgi_pass指令的location中比较有意义
$request_body_file客户端请求主体信息的临时文件名
$request_completion如果请求成功,设为"OK";如果请求未完成或者不是一系列请求中最后一部分则设为空
$request_filename当前请求的文件路径名,比如/opt/nginx/www/test.php
$request_method请求的方法,比如"GET"、"POST"等
$request_uri请求的URI,带参数
$scheme所用的协议,比如http或者是https
$server_addr服务器地址,如果没有用listen指明服务器地址,使用这个变量将发起一次系统调用以取得地址(造成资源浪费)
$server_name请求到达的服务器名
$server_port请求到达的服务器端口号
$server_protocol请求的协议版本,"HTTP/1.0"或"HTTP/1.1"
$uri请求的URI,可能和最初的值有不同,比如经过重定向之类的

https://www.cnblogs.com/wangxusummer/p/4309007.html
ngx.req 的 api

                 

 

转载于:https://www.cnblogs.com/chenpython123/p/10832393.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值