前些天发了好些帖子,想询问关于路径的问题,可也一直都没有回复。其实我对路径的概念一直都比较含糊,后来还是同时介绍了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>
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器