nginx HTTP框架提供的變數

2021-10-07 09:38:29 字數 3122 閱讀 1361

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框架存在的...