| 變數名稱 | 說明 | 範例值 |
|---|---|---|
HTTP_X_FORWARDED_FOR | 透過代理/閘道時的真實客戶端 IP(需代理支援) | 203.0.113.45 |
REMOTE_ADDR | 直接發出請求的遠端主機 IP | 192.168.1.100 |
REMOTE_HOST | 遠端主機名稱(若 DNS 反查失敗則同 REMOTE_ADDR) | client.example.com |
LOCAL_ADDR | 接收請求的伺服器本地 IP | 10.0.0.5 |
HTTP_HOST | 請求標頭 Host 值(含連接埠) | www.example.com:8080 |
SERVER_NAME | 伺服器主機名、DNS 或 IP | www.example.com |
REQUEST_METHOD | HTTP 方法 | GET、POST、HEAD |
SERVER_PORT | 伺服器接收請求的連接埠 | 80、443 |
SERVER_PORT_SECURE | 是否為安全連接埠 (HTTPS) | 1 (是) / 0 (否) |
SERVER_PROTOCOL | 協議名稱與版本 | HTTP/1.1 |
SERVER_SOFTWARE | 伺服器軟體名稱版本 | Microsoft-IIS/10.0 |
QUERY_STRING | 查詢字串(? 之後) | id=123&name=abc |
SCRIPT_NAME | 執行腳本的虛擬路徑 | /app/page.aspx |
PATH_INFO | 客戶端提供的額外路徑資訊 | /extra/path |
PATH_TRANSLATED | PATH_INFO 對應的實體路徑 | C:\inetpub\app\extra\path |
APPL_PHYSICAL_PATH | 應用程式實體路徑 | C:\inetpub\app\ |
HTTP_REFERER | 來源頁面 URL | https://google.com/search?q=test |
HTTP_USER_AGENT | 瀏覽器用戶代理字串 | Mozilla/5.0 (Windows NT 10.0; Win64; x64)... |
HTTP_COOKIE | 客戶端送出的所有 Cookie | ASP.NET_SessionId=xxx; lang=zh-TW |
HTTP_ACCEPT_LANGUAGE | 瀏覽器偏好語言 | zh-TW,zh;q=0.9,en;q=0.8 |
HTTP_ACCEPT_ENCODING | 支援的內容編碼 | gzip, deflate, br |
HTTPS | 是否透過 SSL | ON / OFF |
HTTPS_KEYSIZE | SSL 連線金鑰長度 | 128 |
HTTPS_SECRETKEYSIZE | 伺服器憑證私鑰長度 | 2048 |
AUTH_USER | 通過驗證的使用者名稱 | DOMAIN\user |
AUTH_TYPE | 驗證類型 | Basic、Negotiate、NTLM |
CONTENT_TYPE | 請求內容類型 | application/x-www-form-urlencoded |
CONTENT_LENGTH | 請求內容長度(位元組) | 1024 |
ALL_HTTP | 所有 HTTP 標頭(前綴 HTTP_) | HTTP_ACCEPT=...&HTTP_HOST=... |
ALL_RAW | 原始 HTTP 標頭(無前綴) | Accept: ...\r\nHost: ... |
public string GetClientIP()
{
string ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(ip))
ip = Request.ServerVariables["REMOTE_ADDR"];
return ip;
}
部分伺服器變數實為進程環境變數:
NUMBER_OF_PROCESSORS、OS、WINDIR、TEMP、TMP、ComSpec、PROCESSOR_ARCHITECTURE、PROCESSOR_IDENTIFIER、PROCESSOR_LEVEL、PROCESSOR_REVISION、PATH、PATHEXT 等。可在頁面直接輸出:<%= Request.ServerVariables("OS") %>。