<<<返回

接受headers
当浏览器在服务端接受到一个主页时，这个请求就包括了相当数量的headers，你可以利用request对象的ServerVariable集合来接受这些headers，ServerVariable集合既包括了headers也包括了服务端的一些其他信息。下面的例子将ServerVariable集合的所有内容名称显示出来了。 <HTML> <HEAD><Title>服务端变量</Title></HEAD> <BODY> <%
For Each name IN Request.ServerVariables
Response.write(“<p><b>”&name&”</b>:”)
Response.write(Request.ServerVariables (name))
NEXT
%>
</BODY>
</HTML>
显示结果为
ALL_HTTP:HTTP_ACCEPTimage/gif,image/x-xbitmap,image/jpeg,image/pjpeg,*/*HTTP_ACCEPT_LANGUAGE:en HTTP_CONNECTION:Keep_Alive HTTP_HOST:platoHTTP_USER_AGENT:Mozilla/4.01[en](WinNT;I)HTTP_COOKIE:USERID=HTTP_ACCEPT_CHARSETiso-8859-1*,utf-8
ALL_RAW:Accept:image/gif,image/x-xbitmap,image/jpeg,image/pjpeg,*/* Accept-Language: en Connection: Keep-alive Host:plato User-Agent:Mozilla/4.01[en](WinNT;I) Cookie:USERID=Accept-Charset:iso-8859-1,*.utf-8
APPL_MD_PATH:/LM/W3SVC/1/ROOT/test/
APPL_PHYSICAL_PATH:/D:\Inetpub\wwwroot
AUTH_PASSWORD:
AUTH_TYPE:
AUTH+USER:
CERT_COOKIE:
CERT_FLAGS:
CERT_ISSUER:
CERT_KEYSIZE:
CERT_SECRETKEYSIZE:
CERT_SERIALNUMBER:
CERT_ISSUER:
CERT_SUBJECT:
...(显示结果略)
可以看出，ServerVariables集合包含了很多各种类型信息，在附录A“快速ASP对象和组件参考”中包含了标准的headers以及Server变量的列表。下列解释几个最为常用的：
·HTTP_REFERER.当某人通过链接到达当前页时，HTTP_REFERER header就保存了这个用户的来源，例如，如果你想知道用户有多少是从yahoo中访问这个站点，就可以利用HTTP_REFERER来获取这样的信息。
·HTTP_USER_AGENT. 这个Header指示了用户访问你的站点所用的网络浏览器的类型，当你需要了解你的网站主要客户群使用何种浏览器，你就可以利用这个Header中进行了解。
·Remote_Addr.这个header包括了访问者的IP地址，这个地址可以使我们知道访问者的初始来源，例如是MIT的学生或者是美国在线的用户。
·QUERY_STRING. QUERY_STRING变量包含的是输入网络地址后问号后面所带的参数。这个变量的详细使用方法请见15章 “处理多个Active Server Page”
·SCRIPT_NAME. 这个变量包含的是当前Active Server Page的虚拟路径，进行自己的引用连接时可能会用到。
·SERVER_NAME. 这个变量包含的是Server的网址。
·PATH_TRANSLATED. 这个变量包含的是当前Active Server Page的真实地址。
现在版本的Internet Explorer（3.0版和4.0版）在请求中包含下面的Headers.
·HTTP_UA_COLOR. 这个Header包含的是浏览器可以显示多少种颜色。
·HTTP_UA_CPU. 这个Header包含的是执行浏览器的电脑的CPU型号。
·HTTP_UA_OS. 指的是浏览器所在的操作系统。
·HTTP_UA_PIXELS. 指的是浏览器所用的电脑的分辨率。
注：请不要依赖以上的几个Headers，因为那只适用于windows95下的IE3.0和IE4.0。
你当然可以根据需要利用ServerVariables集合只是去接受特定的header变量，例如下面这个例子，只有从origin.asp进入这个例子程序才被允许：
<HTML>
<HEAD><TITLE>服务端变量</TITLE></HEAD>
<BODY>
<%
WhereForm=request.ServerVariables(“HTTP_REFERER”)
IF WhereForm=“http://www.mysitename.com/example/origin.asp” THEN
%>
欢迎进入ASP教程示例
<%
ELSE
%>
您未被授权访问该页！
<%
END IF
%>
</BODY>
</HTML>
在这个例子中，HTTP_REFERER header检查用户连接的来源，只有是从http://www.mysitename.com/example/origin.asp连接过来的才被允许访问，这样进行授权控制就非常容易。
请注意使用这些header有时也会有麻烦，因为并不是所有的浏览器都有这些header,例如，早期版本的一些浏览器不支持HTTP_REFERER header。