ServerVariablesServerVariables 集合檢索預定的環境變量。 語法Request.ServerVariables (server environment variable) 參數- 服務器環境變量
- 指定要檢索的服務器環境變量名。可以使用下面列出的值。
變量 | 說明 | ALL_HTTP | 客戶端發送的所有 HTTP 標題文件。 | ALL_RAW | 檢索未處理表格中所有的標題。ALL_RAW 和 ALL_HTTP 不同,ALL_HTTP 在標題文件名前面放置 HTTP_ prefix,并且標題名稱總是大寫的。使用 ALL_RAW 時,標題名稱和值只在客戶端發送時才出現。 | APPL_MD_PATH | 檢索 ISAPI DLL 的 (WAM) Application 的元數據庫路徑。 | APPL_PHYSICAL_PATH | 檢索與元數據庫路徑相應的物理路徑。IIS 通過將 APPL_MD_PATH 轉換為物理(目錄)路徑以返回值。 | AUTH_PASSWORD | 該值輸入到客戶端的鑒定對話中。只有使用基本鑒定時,該變量才可用。 | AUTH_TYPE | 這是用戶訪問受保護的腳本時,服務器用于檢驗用戶的驗證方法。 | AUTH_USER | 未被鑒定的用戶名。 | CERT_COOKIE | 客戶端驗證的唯一 ID,以字符串方式返回。可作為整個客戶端驗證的簽字。 | CERT_FLAGS | 如有客戶端驗證,則 bit0 為 1。 如果客戶端驗證的驗證人無效(不在服務器承認的 CA 列表中),bit1 被設置為 1。 | CERT_ISSUER | 用戶驗證中的頒布者字段(O=MS,OU=IAS,CN=user name,C=USA)。 | CERT_KEYSIZE | 安全套接字層連接關鍵字的位數,如 128。 | CERT_SECRETKEYSIZE | 服務器驗證私人關鍵字的位數。如 1024。 | CERT_SERIALNUMBER | 用戶驗證的序列號字段。 | CERT_SERVER_ISSUER | 服務器驗證的頒發者字段。 | CERT_SERVER_SUBJECT | 服務器驗證的主字段。 | CERT_SUBJECT | 客戶端驗證的主字段。 | CONTENT_LENGTH | 客戶端發出內容的長度。 | CONTENT_TYPE | 內容的數據類型。同附加信息的查詢一起使用,如 HTTP 查詢 GET、 POST 和 PUT。 | GATEWAY_INTERFACE | 服務器使用的 CGI 規格的修訂。格式為 CGI/revision。 | HTTP_<HeaderName> | HeaderName 存儲在標題文件中的值。未列入該表的標題文件必須以 HTTP_ 作為前綴,以使 ServerVariables 集合檢索其值。 注意 服務器將 HeaderName 中的下劃線(_)解釋為實際標題中的破折號。例如,如果您指定 HTTP_MY_HEADER,服務器將搜索以 MY-HEADER 為名發送的標題文件。 | HTTPS | 如果請求穿過安全通道(SSL),則返回 ON。如果請求來自非安全通道,則返回 OFF。 | HTTPS_KEYSIZE | 安全套接字層連接關鍵字的位數,如 128。 | HTTPS_SECRETKEYSIZE | 服務器驗證私人關鍵字的位數。如 1024。 | HTTPS_SERVER_ISSUER | 服務器驗證的頒發者字段。 | HTTPS_SERVER_SUBJECT | 服務器驗證的主字段。 | INSTANCE_ID | 文本格式 IIS 實例的 ID。如果實例 ID 為 1,則以字符形式出現。使用該變量可以檢索請求所屬的(元數據庫中)Web 服務器實例的 ID。 | INSTANCE_META_PATH | 響應請求的 IIS 實例的元數據庫路徑。 | LOCAL_ADDR | 返回接受請求的服務器地址。如果在綁定多個 IP 地址的多宿主機器上查找請求所使用的地址時,這條變量非常重要。 | LOGON_USER | 用戶登錄 Windows NT® 的帳號。 | PATH_INFO | 客戶端提供的額外路徑信息。可以使用這些虛擬路徑和 PATH_INFO 服務器變量訪問腳本。如果該信息來自 URL,在到達 CGI 腳本前就已經由服務器解碼了。 | PATH_TRANSLATED | PATH_INFO 轉換后的版本,該變量獲取路徑并進行必要的由虛擬至物理的映射。 | QUERY_STRING | 查詢 HTTP 請求中問號(?)后的信息。 | REMOTE_ADDR | 發出請求的遠程主機的 IP 地址。 | REMOTE_HOST | 發出請求的主機名稱。如果服務器無此信息,它將設置為空的 MOTE_ADDR 變量。 | REMOTE_USER | 用戶發送的未映射的用戶名字符串。該名稱是用戶實際發送的名稱,與服務器上驗證過濾器修改過后的名稱相對。 | REQUEST_METHOD | 該方法用于提出請求。相當于用于 HTTP 的 GET、HEAD、POST 等等。 | SCRIPT_NAME | 執行腳本的虛擬路徑。用于自引用的 URL。 | SERVER_NAME | 出現在自引用 UAL 中的服務器主機名、DNS 化名或 IP 地址。 | SERVER_PORT | 發送請求的端口號。 | SERVER_PORT_SECURE | 包含 0 或 1 的字符串。如果安全端口處理了請求,則為 1,否則為 0。 | SERVER_PROTOCOL | 請求信息協議的名稱和修訂。格式為 protocol/revision 。 | SERVER_SOFTWARE | 應答請求并運行網關的服務器軟件的名稱和版本。格式為 name/version 。 | URL | 提供 URL 的基本部分。 |
注釋如果客戶端發送的標題文件在上述表格中找不到,可以在調用 Request.ServerVariables 中給標題文件名加上 HTTP_ 的前綴以檢索其值。例如,如果客戶端發送標題文件 SomeNewHeader:SomeNewValue 您可以通過使用下面的語法檢索 SomeNewValue <% Request.ServerVariables("HTTP_SomeNewHeader") %> 您可使用重述符以循環遍歷所有的服務器變量名。例如,使用下面的腳本打印出所有的服務器名。 <TABLE><TR><TD><B>Server Variable</B></TD><TD><B>Value</B></TD></TR><% For Each name In Request.ServerVariables %> <TR><TD> <%= name %> </TD><TD> <%= Request.ServerVariables(name) %> </TD></TR></TABLE><% Next %> 示例下面的例子使用 Request 對象顯示一些服務器變量。 <HTML><!-- This example displays the content of several ServerVariables. --> ALL_HTTP server variable = <%= Request.ServerVariables("ALL_HTTP") %> <BR>CONTENT_LENGTH server variable = <%= Request.ServerVariables("CONTENT_LENGTH") %> <BR> CONTENT_TYPE server variable = <%= Request.ServerVariables("CONTENT_TYPE") %> <BR>QUERY_STRING server variable = <%= Request.ServerVariables("QUERY_STRING") %> <BR> SERVER_SOFTWARE server variable = <%= Request.ServerVariables("SERVER_SOFTWARE") %> <BR> </HTML> 下一個示例使用 ServerVariables 集合將服務器名插入一個超文本鏈接。 <A HREF = "http://<%= Request.ServerVariables("SERVER_NAME") %>/scripts/MyPage.asp">Link to MyPage.asp</A> 應用于Request Object
|