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會做一些微小的處理)
2.connection:遞增的連線序號
3.connection_requests:當前連線上執行過的請求數,對keepalive連線有意義
5.remote_port:客戶端埠
7.proxy_protocol_port:若使用了proxy_protocol協議,則返回協議中的埠,否則返回空
9.server_port:伺服器端埠
10.tcp_info:tcp核心引數,包括$tcpinfo_rtt,$tcpinfo_rttvar,$tcpinfo_snd_cwnd,$tcpinfo_rcv_space
11.server_protocol:伺服器端協議,例如http/1.1
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規則生成的資料夾路徑
9.limit_rate:返回客戶端響應時的速度上限,單位為每秒位元組數。可以通過set指令修改對請求產生效果
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
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:2023年1月1日到現在的時間,單位為秒,小數點後精確到毫秒
Nginx Http框架的理解
nginx http框架的理解 http框架是nginx基礎框架的一部分,nginx的其它底層框架如master worker程序模型 event模組 mail 模組等。http框架 主要有2個模組組成 ngx http module和ngx http core module 我們編寫的http模組...
細述 nginx http核心模組提供的變數和解釋
ngx http core module模組在處理請求時,會有大量的變數,這些變數可以通過訪問日誌來記錄下來,也可以用於其它nginx模組。在我們對請求做策略如改寫等等都會使用到一些變數,順便對ngx http core module模組提供的變數總結了下,如下所示 引數名稱 注釋 arg para...
Nginx HTTP框架是如何介入請求
參考資料 深入理解nginx 陶輝 nginx是乙個事件驅動構架的web伺服器,在上次的部落格中我們可以看到nginx是如何驅動事件的處理的。本次將介紹http框架是如何介入跟處理http網路事件的。因為書上的思路已經足夠清晰而且內容比較獨立,因此本次基本上就把本章的重點記錄一下。http框架存在的...