zoukankan      html  css  js  c++  java
  • Request、Request.Form和Request.QueryString的区别

    原文:https://www.cnblogs.com/jimmy88/p/5305741.html

    request本身是一个系统的静态对象,本身也可以作为数组调用,比如request("abc")就是获取request数组中键值"abc"对应的值,而这个数组是多个数组的集合,其中包含了如下几个服务器变量数组:

    • QueryString
    • Form
    • Cookies
    • ClientCertificate
    • ServerVariables

     

    Request.Form:获取以POST方式提交的数据(接收Form提交来的数据,数据大小没有限制);

    Request.QueryString:获取地址栏参数(以GET方式提交的数据,最大2k的数据);

    Request:包含以上两种方式(优先获取GET方式提交的数据),它会在QueryString、Form、ServerVariable中都搜寻一遍

     

    特殊情况:如果仅仅需要Form中的一个数据,但使用了Request而不是Request.Form,那么程序将在QueryString、ServerVariable中也搜寻一遍。如果正好QueryString或者ServerVariable里面也有同名的项,则得到数据可能就不是Form中的数据。

     

     Request.ServerVariables中的各种参数

     

    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")  返回內容如:nVisiT%

    2DYum=125;ASPSESSIONIDCARTQTRA=FDOBFFABJGOECBBKHKGPFIJI;ASPSESSIONIDCAQQTSRB=LKJJPLABABILLPCOGJGAMKAM;ASPSESSIONIDACRRSSRA=DK

    HHHFBBJOJCCONPPHLKGHPB

    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的数据类型 

     

     

    使用Request.Form,ASP是从FORM集合中搜索。
    使用Request,ASP是以如下顺序进行搜索:
         1.QueryString
         2.Form
         3.Cookies
         4.ClientCertificate
         5.ServerVariables
    如果在QueryString里也存在一个同Form里相同的变量名,则不会返回Form里的值,而是QueryString的。

     

  • 相关阅读:
    try? try! try do catch try 使用详解
    Swift Write to file 到电脑桌面
    NSLayoutConstraint 使用详解 VFL使用介绍
    automaticallyAdjustsScrollViewInsets 详解
    Swift 给UITableView 写extension 时 报错 does not conform to protocol 'UITableViewDataSource'
    OC Swift中检查代码行数
    Swift中 @objc 使用介绍
    SWift中 '?' must be followed by a call, member lookup, or subscript 错误解决方案
    Swift 中 insetBy(dx: CGFloat, dy: CGFloat) -> CGRect 用法详解
    求1000之内所有“完数”(注:C程序设计(第四版) 谭浩强/著 P141-9)
  • 原文地址:https://www.cnblogs.com/wfy680/p/15155423.html
Copyright © 2011-2022 走看看