本篇內(nèi)容主要講解“nginx http內(nèi)核模塊提供的變量怎么理解”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“nginx http內(nèi)核模塊提供的變量怎么理解”吧!
創(chuàng)新互聯(lián)公司專(zhuān)注于五龍口網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供五龍口營(yíng)銷(xiāo)型網(wǎng)站建設(shè),五龍口網(wǎng)站制作、五龍口網(wǎng)頁(yè)設(shè)計(jì)、五龍口網(wǎng)站官網(wǎng)定制、小程序設(shè)計(jì)服務(wù),打造五龍口網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供五龍口網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。ngx_http_core_module模塊在處理請(qǐng)求時(shí),會(huì)有大量的變量,這些變量可以通過(guò)訪問(wèn)日志來(lái)記錄下來(lái),也可以用于其它nginx模塊。 |
在我們對(duì)請(qǐng)求做策略如改寫(xiě)等等都會(huì)使用到一些變量,順便對(duì)ngx_http_core_module模塊提供的變量總結(jié)了下,如下所示:
參數(shù)名稱(chēng) 注釋
$arg_PARAMETER HTTP 請(qǐng)求中某個(gè)參數(shù)的值,如/index.php?site=www.ttlsa.com,可以用$arg_site 取得www.ttlsa.com這個(gè)值. $args HTTP 請(qǐng)求中的完整參數(shù)。例如,在請(qǐng)求/index.php?width=400&height=200 中,$args表示字符串width=400&height=200. $binary_remote_addr 二進(jìn)制格式的客戶(hù)端地址。例如:\x0A\xE0B\x0E $body_bytes_sent 表示在向客戶(hù)端發(fā)送的http響應(yīng)中,包體部分的字節(jié)數(shù) $content_length 表示客戶(hù)端請(qǐng)求頭部中的Content-Length 字段 $content_type 表示客戶(hù)端請(qǐng)求頭部中的Content-Type 字段 $cookie_COOKIE 表示在客戶(hù)端請(qǐng)求頭部中的cookie 字段 $document_root 表示當(dāng)前請(qǐng)求所使用的root 配置項(xiàng)的值 $uri 表示當(dāng)前請(qǐng)求的URI,不帶任何參數(shù) $document_uri 與$uri 含義相同 $request_uri 表示客戶(hù)端發(fā)來(lái)的原始請(qǐng)求URI,帶完整的參數(shù)。 $uri和$document_uri未必是用戶(hù)的原始請(qǐng)求,在內(nèi)部重定向后可能是重定向后的URI,而$request_uri 永遠(yuǎn)不會(huì)改變,始終是客戶(hù)端的原始URI. $host 表示客戶(hù)端請(qǐng)求頭部中的Host字段。如果Host字段不存在,則以實(shí)際處理的server(虛擬主機(jī))名稱(chēng)代替。如果Host字段中帶有端口,如IP:PORT,那么$host是去掉端口的,它的值為IP。 $host 是全小寫(xiě)的。這些特性與http_HEADER中的http_host不同,http_host只取出Host頭部對(duì)應(yīng)的值。 $hostname 表示 Nginx所在機(jī)器的名稱(chēng),與 gethostbyname調(diào)用返回的值相同 $http_HEADER 表示當(dāng)前 HTTP請(qǐng)求中相應(yīng)頭部的值。HEADER名稱(chēng)全小寫(xiě)。例如,示請(qǐng)求中 Host頭部對(duì)應(yīng)的值 用 $http_host表 $sent_http_HEADER 表示返回客戶(hù)端的 HTTP響應(yīng)中相應(yīng)頭部的值。HEADER名稱(chēng)全小寫(xiě)。例如,用 $sent_ http_content_type表示響應(yīng)中 Content-Type頭部對(duì)應(yīng)的值 $is_args 表示請(qǐng)求中的 URI是否帶參數(shù),如果帶參數(shù),$is_args值為 ?,如果不帶參數(shù),則是空字符串 $limit_rate 表示當(dāng)前連接的限速是多少,0表示無(wú)限速 $nginx_version 表示當(dāng)前 Nginx的版本號(hào) $query_string 請(qǐng)求 URI中的參數(shù),與 $args相同,然而 $query_string是只讀的不會(huì)改變 $remote_addr 表示客戶(hù)端的地址 $remote_port 表示客戶(hù)端連接使用的端口 $remote_user 表示使用 Auth Basic Module時(shí)定義的用戶(hù)名 $request_filename 表示用戶(hù)請(qǐng)求中的 URI經(jīng)過(guò) root或 alias轉(zhuǎn)換后的文件路徑 $request_body 表示 HTTP請(qǐng)求中的包體,該參數(shù)只在 proxy_pass或 fastcgi_pass中有意義 $request_body_file 表示 HTTP請(qǐng)求中的包體存儲(chǔ)的臨時(shí)文件名 $request_completion 當(dāng)請(qǐng)求已經(jīng)全部完成時(shí),其值為 “ok”。若沒(méi)有完成,就要返回客戶(hù)端,則其值為空字符串;或者在斷點(diǎn)續(xù)傳等情況下使用 HTTP range訪問(wèn)的并不是文件的最后一塊,那么其值也是空字符串。 $request_method 表示 HTTP請(qǐng)求的方法名,如 GET、PUT、POST等 $scheme 表示 HTTP scheme,如在請(qǐng)求 https://nginx.com/中表示 https $server_addr 表示服務(wù)器地址 $server_name 表示服務(wù)器名稱(chēng) $server_port 表示服務(wù)器端口 $server_protocol 表示服務(wù)器向客戶(hù)端發(fā)送響應(yīng)的協(xié)議,如 HTTP/1.1或 HTTP/1.0
到此,相信大家對(duì)“nginx http內(nèi)核模塊提供的變量怎么理解”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!