nginx : HTTP框架提供的变量

一.HTTP请求相关参数

1.arg_参数名:URL中某个具体参数的值

2.query_string:预args变量完全相同

3.args:全部URL参数

4.is_args:如果请求URL中有参数则返回?否则返回空

5.content_length:HTTP请求中标识包体长度的Content-Length头部的值

6.content_type:标识请求包体类型的Content_Type头部的值

7.uri:请求的URL(不同于URL,不包括?后的参数)

8.document_rui:与uri完全相同

9.request_uri:请求的URL(包括URI以及完整的参数)

10.scheme:协议名,例如HTTP或者HTTPS

11.request_method:请求方法,例如GET或者POST

12.request_length:所有请求内容的大小,包括请求行,头部,包体等

13.remote_user:由HTTP Basic Authentication协议传入的用户名

14.request_body_file:临时存放请求包体的文件(如果包体非常小则不会存文件,client_body_in_file_only强制所有包体存入文件,且可决定时候删除)

15.request_body:请求中的包体,这个变量当且仅当使用反向代理,且设定用内存暂存包体时才有效

16.request:原始的url请求,含有方法与协议版本

17.host:先从请求行中获取,如果含有Host头部,则用其值替换掉请求行中的主机名,如果前两者都取不到,这是用匹配上的server_name

18.http_头部名字:返回一个具体请求头部的值(特殊:http_host,http_user_agent,http_referer,http_via,http_x_forwarded_for,http_cookie会做一些微小的处理)

二.TCP连接相关变量

1.binary_remote_addr :客户端地址的整型格式,对于IPv4是4字节,对于IPv6是16字节

2.connection:递增的连接序号

3.connection_requests:当前连接上执行过的请求数,对keepalive连接有意义

4.remote_addr:客户端地址

5.remote_port:客户端端口

6.proxy_protocol_addr:若使用了proxy_protocol协议,则返回协议中的地址,否则返回空

7.proxy_protocol_port:若使用了proxy_protocol协议,则返回协议中的端口,否则返回空

8.server_addr:服务器端地址

9.server_port:服务器端端口

10.TCP_INFO:tcp内核参数,包括$tcpinfo_rtt,$tcpinfo_rttvar,$tcpinfo_snd_cwnd,$tcpinfo_rcv_space

11.server_protocol:服务器端协议,例如HTTP/1.1

三.nginx在处理请求中产生的变量

1.request_time:请求处理到现在的耗时,单位为秒,精确到毫秒

2.Server_name:匹配上请求的Server_name值

3.https:如果开启了TLS/SSL,则返回on,否则返回空

4.request_completion:若请求处理完则返回OK,否则返回空

5.request_id:以16进制输出的请求标识id,该id共含有16个直接,是随机产生的

6.request_filename:待访问文件的完整路径

7.document_root:有URI和root/alias规则生成的文件夹路径

8.realpath_root:将document_root中的软链接等换成真实的路径

9.limit_rate:返回客户端响应时的速度上限,单位为每秒字节数。可以通过set指令修改对请求产生效果

四.发送HTTP响应时相关的变量

1.body_bytes_sent:响应中body包体的长度

2.bytes_sent:全部http响应的长度

3.status:http响应中的返回码

4.sent_trailer_名字:把响应结尾内容里值返回

5.sent_http_头部名字:响应中某个具体头部的值

   特殊处理:sent_http_content_type,sent_http_content_length,sent_http_location,sent_http_last_modified,sent_http_connection,sent_http_keepalive,sent_http_transfer_encoding,sent_http_cache_control,sent_http_link

五.nginx系统变量

1.time_local:以本地时间标准输出的当前时间,例如14/Nov/2018:16:11:00 +0800

2.time_iso8601:使用ISO 8601标准输出的当前时间,例如2018-11-14 T 16:11:00 +08:00

3.nginx_version:nginx版本号

4.pid:所属worker进程的进程id

5.pipe:使用了管道则返回p,否则返回.

6.hostname:所在服务器的主机名,与hostname命令输出一致

7.msec:1970年1月1日到现在的时间,单位为秒,小数点后精确到毫秒

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值