參數
- 服務器環境變量
- 指定要檢索的服務器環境變量名。可以使用下面列出的值。
變量 說明 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>