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