• ServerVariables 大全


    ServerVariables 集合检索预定的环境变量。

    语法
    ASP.NET语法:

    Request.ServerVariables [int index]; Request.ServerVariables [string name];asp语法: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>

    本文件ip路径:<%="http://"&request.servervariables("server_name" ... bles("script_name")%>
    本机ip:<%=request.servervariables("remote_addr")%>
    服务器名:<%=Request.ServerVariables("SERVER_NAME")%>
    服务器IP:<%=Request.ServerVariables("LOCAL_ADDR")%>
    服务器端口:<%=Request.ServerVariables("SERVER_PORT")%>
    服务器时间:<%=now%>
    IIS版本:<%=Request.ServerVariables("SERVER_SOFTWARE")%>
    脚本超时时间:<%=Server.ScriptTimeout%>
    本文件路径:<%=server.mappath(Request.ServerVariables("SCRIPT_NAME"))%>
    服务器CPU数量:<%=Request.ServerVariables("NUMBER_OF_PROCESSORS")%>
    服务器解译引擎:<%=ScriptEngine & "/"& ScriptEngineMajorVersion&"."&ScriptEngineMinorVersion&"."& ScriptEngineBuildVersion %>
    服务器操作系统:<%=Request.ServerVariables("OS")%>
    支持的文件类型:<%=Request.ServerVariables("HTTP_Accept")%>
    访问的文件路径:<%=Request.ServerVariables("HTTP_url")%>
    用户代理的信息:<%=Request.ServerVariables("HTTP_USER_AGENT")%>
    获取url中的文件名和传过来的值:request.ServerVariables("script_name")+"?"+request.ServerVariableS("QUERY_STRING")

    Request.ServerVariables("HTTP_REFERER")的工作方式

    下列情况是从浏览器的地址栏正常取得Request.ServerVariables("HTTP_REFERER")的:
    1.直接用<a href>
    2.用Submit或<input type=image>提交的表单(POST or GET)
    3.使用Jscript提交的表单(POST or GET)

    下面我们再看看Request.ServerVariables("HTTP_REFERER")不能正常取值的情况:
    1.从收藏夹链接
    2.单击''主页''或者自定义的地址
    3.利用Jscript的location.href or location.replace()
    4.在浏览器直接输入地址
    5.<%Response.Redirect%>
    6.<%Response.AddHeader%>或<meta http-equiv=refresh>转向
    7.用XML加载地址

    显然,Request.ServerVariables("HTTP_REFERER")在多数情况下是不能正常工作的



  • 相关阅读:
    【随手记录】PG数值类型记录
    【SkyWalking】 Can't find service by service instance id from cache, service instance id is:xxx
    【随手记录】定时邮件发送限制 SMTPSendFailedException:557
    【随手记录】IDEA一个工程打开多个项目
    【随手记录】时间格式转换报错:while it seems to fit format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ'
    【随手记录】实体类里方法自动执行问题
    【随手记录】IDEA的工具mode切换
    【随手记录】MagicNumber 魔数 在协议里作用
    js singleton
    js 对象的深层嵌套函数对对象属性的访问
  • 原文地址:https://www.cnblogs.com/RuiLei/p/480174.html
Copyright © 2020-2023  润新知