Request.ServerVariables["Url"]
返回服务器地址
Request.ServerVariables["Path_Info"]
客户端提供的路径信息
Request.ServerVariables["Appl_Physical_Path"]
与应用程序元数据库路径相应的物理路径
Request.ServerVariables["Path_Translated"]
通过由虚拟至物理的映射后得到的路径
Request.ServerVariables["Script_Name"]
执行脚本的名称
Request.ServerVariables["Query_String"]
查询字符串内容
Request.ServerVariables["Http_Referer"]
请求的字符串内容
Request.ServerVariables["Server_Port"]
接受请求的服务器端口号
Request.ServerVariables["Remote_Addr"]
发出请求的远程主机的IP地址
Request.ServerVariables["Remote_Host"]
发出请求的远程主机名称
Request.ServerVariables["Local_Addr"]
返回接受请求的服务器地址
Request.ServerVariables["Http_Host"]
返回服务器地址
Request.ServerVariables["Server_Name"]
服务器的主机名、DNS地址或IP地址
Request.ServerVariables["Request_Method"]
提出请求的方法比如GET、HEAD、POST等等
Request.ServerVariables["Server_Port_Secure"]
如果接受请求的服务器端口为安全端口时,则为1,否则为0
Request.ServerVariables["Server_Protocol"]
服务器使用的协议的名称和版本
Request.ServerVariables["Server_Software"]
应答请求并运行网关的服务器软件的名称和版本
Request.ServerVariables["All_Http"]
客户端发送的所有HTTP标头,前缀HTTP_
Request.ServerVariables["All_Raw"]
客户端发送的所有HTTP标头,其结果和客户端发送时一样,没有前缀HTTP_
Request.ServerVariables["Appl_MD_Path"]
应用程序的元数据库路径
Request.ServerVariables["Content_Length"]
客户端发出内容的长度
Request.ServerVariables["Https"]
如果请求穿过安全通道(SSL),则返回ON如果请求来自非安全通道,则返回OFF
Request.ServerVariables["Instance_ID"]
IIS实例的ID号
Request.ServerVariables["Instance_Meta_Path"]
响应请求的IIS实例的元数据库路径
Request.ServerVariables["Http_Accept_Encoding"]
返回内容如:gzip,deflate
Request.ServerVariables["Http_Accept_Language"]
返回内容如:en-us
Request.ServerVariables["Http_Connection"]
返回内容:Keep-Alive
Request.ServerVariables["Http_Cookie"]
返回内容:Cookie的值
Request.ServerVariables["Http_User_Agent"]
返回内容:Mozilla/4.0[compatible;MSIE6.0;WindowsNT5.1;SV1]
Request.ServerVariables["Https_Keysize"]
安全套接字层连接关键字的位数,如128
Request.ServerVariables["Https_Secretkeysize"]
服务器验证私人关键字的位数如1024
Request.ServerVariables["Https_Server_Issuer"]
服务器证书的发行者字段
Request.ServerVariables["Https_Server_Subject"]
服务器证书的主题字段
Request.ServerVariables["Auth_Password"]
当使用基本验证模式时,客户在密码对话框中输入的密码
Request.ServerVariables["Auth_Type"]
是用户访问受保护的脚本时,服务器用於检验用户的验证方法
Request.ServerVariables["Auth_User"]
代证的用户名
Request.ServerVariables["Cert_Cookie"]
唯一的客户证书ID号
Request.ServerVariables["Cert_Flag"]
客户证书标志,如有客户端证书,则bit0为0如果客户端证书验证无效,bit1被设置为1
Request.ServerVariables["Cert_Issuer"]
用户证书中的发行者字段
Request.ServerVariables["Cert_Keysize"]
安全套接字层连接关键字的位数,如128
Request.ServerVariables["Cert_Secretkeysize"]
服务器验证私人关键字的位数如1024
Request.ServerVariables["Cert_Serialnumber"]
客户证书的序列号字段
Request.ServerVariables["Cert_Server_Issuer"]
服务器证书的发行者字段
Request.ServerVariables["Cert_Server_Subject"]
服务器证书的主题字段
Request.ServerVariables["Cert_Subject"]
客户端证书的主题字段
Request.ServerVariables["Content_Type"]
客户发送的form内容或HTTPPUT的数据类型
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 中的下划线(_)解释为实际标题中的破折号。例如,如果您指定 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的作用是获取来源路径,也就是访问者是从哪个页面点击进来的。 在实际使用中常被用来防盗链,访问统计等。
equest.ServerVariables("HTTP_REFERER")的工作方式
下列情况是从浏览器的地址栏正常取得Request.ServerVariables("HTTP_REFERER")的:
1.直接从URL点击进来
2.用Submit或 提交的表单(POST or GET)
3.使用Jscript提交的表单(POST or GET)
下面再看看Request.ServerVariables("HTTP_REFERER")不能正常取值的情况:
1.从收藏夹链接
2.单击''主页''或者自定义的地址
3.利用Jscript的location.href or location.replace()
4.在浏览器直接输入地址
5.用XML加载地址
显然,Request.ServerVariables("HTTP_REFERER")在多数情况下是不能正常工作的
但在实际开发中用它作防盗链和网站的一些特定统计是没问题的,比如可以统计网站可以统计有多少流量是百度带来的
request.ServerVariables("HTTP_REFERER")获取连接来路完整地址
Request.ServerVariables("SERVER_NAME")获取当前域名(不含页面及参数)
Request.ServerVariables("SERVER_PORT")获取端口号
request.ServerVariables("SCRIPT_NAME")获取目录及当前页面('/'开头)