ASP中使用ServerVariables集合详解(1)

发表于:2007-06-30来源:作者:点击数: 标签:
当讨论Request对象内容时,要研究的集合之一就是ServerVariables集合。这个集合包含了两种值的结合体,一种是随同页面请求从客户端发送到 服务器 的HTTP报头中的值,另外一种是由服务器在接收到请求时本身所提供的值。 “自引用”页面 在ServerVariables集合
     当讨论Request对象内容时,要研究的集合之一就是ServerVariables集合。这个集合包含了两种值的结合体,一种是随同页面请求从客户端发送到服务器的HTTP报头中的值,另外一种是由服务器在接收到请求时本身所提供的值。
  
    “自引用”页面
  
    在ServerVariables集合中返回的值包含Web服务器的详细信息和当前页面的路径信息。在任何地方创建一个页面都可使用这些信息。例如创建一个“自引用”页面,此页面能够再次调用自身完成另一项任务,我们可以用以下代码:
  
  <FORM ACTION=”<% = Request.ServerVariables(“PATH_INFO”) %>” METHOD=”POST”>
  
    同样的效果可以用HTTP的“SCRIPT_NAME”值获得:
  
  <FORM ACTION=”<% = Request.ServerVariables(“SCRIPT_NAME”) %>” METHOD=”POST”>
  
    使用<A>元素打开一个不同页,可以使用:
  
  ...
  <%
  strFullPath = Request.ServerVariables(“PATH_INFO”)
  ‘Strip off the file name
  strPathOnly = Left(strFullPath, InStrRev(strFullPath, “/”))
  strNextPage = strPathOnly & “pages/next_page.ASP”
  %>
  ...
  <A HREF=”<% = strNextPage %>”>Next Page</A>
  ...
  
    即使原始页面的名称或位置发生变化,这些实例都能正常工作,因为使用了当前页面的路径信息(当然,第二个例子在分离的目标页的名称发生变化时运行会失败)。
  
    换句话说,如果为搜索引擎的子会话自动建立URL,可以收集ServerVariable的一些值:
  
  strFullURL = http:// & Request.ServerVariables(“LOCAL_ADDR”) _
  & “:” & Request.ServerVariables(“SERVER_PORT”) _
  & Request.ServerVariables(“PATH_INFO”)
  
    这将创建一个完整的URL包括端口号(这种情况下,不是标准值80)。例如,结果可能是:
  
  http://194.74.60.254:1768/thispath/thispage.asp
  
  
  

原文转自:http://www.ltesting.net