4.1.4 获得服务器端的环境变量
当我们在讨论Request对象的内容时,要研究的集合之一就是ServerVariables集合。这个集合包含了两种结合体,一种是随同页面请求从客户端发送到服务器的HTTP报头中的值,另外一种就是由服务器在接受到请求时其本身所提供的值。下面就来具体介绍一下ServerVariables集合的作用。
1.ServerVariables集合
在上网的时候会经常遇到,网页的某个地方会显示用户的IP、操作系统和浏览器的型号,这就是ServerVariables集合的功劳,如图4-8所示。
| 图4-8 用户来访信息 |
ServerVariables集合检索预定的环境变量。浏览器的请求及服务端的响应都包含了Headers,并提供有关的附加信息,也包括了其提供响应的过程信息。通过使用ServerVariables集合的成员,可以获取有关发出请求的浏览器类型的信息、IP地址、构成请求的HTTP方法以及ASP脚本参与的HTTP事务的其他重要数据。
当浏览器在服务端接受到一个主页时,该请求就包括了一定数量的Headers,可以利用Request对象的ServerVariables集合来接收这些Headers,ServerVariables集合既包括了Headers,也包括了服务端的一些其他信息。ServerVariables集合引用的一般格式为:
Request.ServerVariables(server environment variable)
下面的这段程序将ServerVariables集合的所有变量显示出来。
html
head
title ServerVariables /title
/head
body
%
For each item In Resquest.ServerVariables
Response.Write(" |
服务器环境变量指定要检索的服务器环境变量名,表4-2列出的是最为常用的一些变量。
表 4-2 ServerVariables集合的常用变量
|
变 量 |
说 明 |
|
AUTH_TYPE |
这是用户访问受保护的脚本时,服务器用于检验用户的验证方法 |
|
CONTENT_LENGTH |
客户端发出内容的长度 |
|
CONTENT_TYPE |
内容的数据类型。同附加信息的查询一起使用,如HTTP查询GET、POST和PUT |
|
GATEWAY_INTERFACE |
服务器使用的CGI规格的修订,格式为CGI/revision |
|
PATH_INFO |
客户端提供的额外路径信息。可以使用这些虚拟路径和PATH_INFO服务器变量访问脚本。如果该信息来自URL,在到达CGI脚本前就已经由服务器解码 |
|
QUERY_STRING |
查询HTTP请求中问号(?)后的信息 |
|
REMOTE_ADDR |
发出请求的远程主机的IP地址 |
|
REMOTE_HOST |
发出请求的主机名称。如果服务器无此信息,它将设置为空的MOTE_ADDR变量 |
|
REQUEST_METHOD |
该方法用于提出请求。相当于用于HTTP的GET、HEAD、POST等 |
|
SCRIPT_NAME |
执行脚本的虚拟路径。用于自引用的URL |
|
SERVER_NAME |
出现在自引用URL中的服务器主机名、DNS化名或IP地址 |
|
SERVER_PORT |
发送请求的端口号 |
|
SERVER_PORT_SECURE |
包含0或1的字符串。如果安全端口处理了请求,则为1,否则为0 |
|
SERVER_PROTOCOL |
请求信息协议的名称和修订。格式为protocol/revision |
|
SERVER_SOFTWARE |
应答请求并运行网关的服务器软件的名称和版本。格式为name/version |
|
URL |
提供URL的基本部分 |
|
HTTP_USER_AGENT |
指示了用户访问站点所用的网络浏览器的类型,当需要了解网站主要客户群使用何种浏览器时,就可以利用这个变量进行了解 |
|
PATH_TRANSLATED |
PATH_INFO转换后的版本,该变量获取路径并进行必要的由虚拟至物理的映射 |
2.ClientCertificate集合
ClientCertificate集合从Web浏览器发布请求中获取验证字段(由X.509标准指定)。Key参数指定要获取的验证字段名称。可选参数,用于Subject或Issuer关键字检索单独的字段。此参数作为一个后缀添加到Key参数中。例如,IssuerO或SubjectCN。
如果Web浏览器使用SSL3.0/PCT1协议,也就是说,它使用以https://开头的URL,而不是http://。连接服务器及服务器请求验证,则浏览器将发送验证字段。如果没有发送验证,ClientCertificate集合将返回Empty。必须先将Web服务器配置为要求客户端验证,然后才能使用ClientCertificate集合。ClientCertificate集合引用的一般格式为:
Request.ClientCertificate(Key[SubField])
可以通过关键字用循环来遍历ClientCertificate集合。下面的例子对此进行演示。
% For Each key in Request.ClientCertificate Response.Write(key&":"&Request.ClientCertificate(key)&" |
| 回书目 上一节 下一节 |
|
· Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. · 08年5月各大网上书店及.. |
· 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. · 系统分析师自测获奖名.. |
|
||||
| · ASP.NET开发教程 · 专题:ASP.NET 2.0基础.. · LAMP技术精解 · 服务器节能与绿色IT · ARP攻击防范与解决方案 · Linux 集群技术专题 · Windows集群服务应用 · CISSP认证成长之路 |
· SQL Server 2008/2005.. · SQL Server入门到精通 · 网络工程师职业规划与.. · 浏览器的战国时代 · 运营商封堵ADSL共享 中.. · 微软出价446亿美元收购.. · 技术人求职简历完备手册 · 开源虚拟化技术Xen |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Apache技术专题 · Windows集群服务应用 · 国际文档格式标准开战 |
· 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 · 了解统一威胁管理(UTM).. · 专题:AIX操作系统管理.. · 访问控制列表(ACL)介绍 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · 三层交换技术专题 · Apache技术专题 · 企业数据恢复指南 · Windows集群服务应用 |
· 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 · 访问控制列表(ACL)介绍 · ASP.NET开发教程 · PHP开发应用手册 |
|||