ASP中ServerVariables 對路徑的操作

來源:互聯網
上載者:User
server   前些天發了好些文章,想詢問關於路徑的問題,可也一直都沒有回複。其實我對路徑的概念一直都比較含糊,後來還是同時介紹了ServerVariables資料集合,才使我解決了那個困惑我很久的問題。把這篇文章轉載過來,一方面看能不能有助於那些和我有過共同感受的朋友,同時也希望各位前輩能多給些意見。
  
  
   ServerVariables
   ServerVariables 集合檢索預定的環境變數。
  
   文法
   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>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.