Request.QueryString()、Request.From(),Request()区别

简介: 1.Request.form方法,它是用来接收表单变量的(post 方法) 2.Request.QueryString方法, 它是接收URL参数的 (get 方法) 3.Request对象也可以不指明具体使用QueryString或是form方法,如request("变量"),因为它能自动识别,不过还是指明为好,否则,要它自己判断也得花些微时间,影响程序执行效率。

1.Request.form方法,它是用来接收表单变量的(post 方法)

2.Request.QueryString方法, 它是接收URL参数的 (get 方法)

3.Request对象也可以不指明具体使用QueryString或是form方法,如request("变量"),因为它能自动识别,不过还是指明为好,否则,要它自己判断也得花些微时间,影响程序执行效率。

两者除了接收方法不同外,还有传递数据量大小的问题,request.form方法能接收的数据没有限制,而request.QueryString只能接收数据量小于2KB数据,当然后者的执行速度要比前者快。一般往数据库请求查询时用request.QueryString方法,因为查询时只不过那么几个关键词,没有必要用request.form方法而导致查询速度变慢。另外,request.QueryString方法还会把数据信息显示在客户端浏览器地址栏中,安全性较差。 request.form方法不存在上述问题,因此大量被应用在多个文本域提交数据和用户登陆的场合。

Request.QueryString["id"] 只能读取通过地址栏参数传递过来的名为id的参数。
Request["id"]是一个复合功能读取函数。

Request从几个集合取数据是有顺序的,从前到后的顺序依次是 QueryString,Form,最后是ServerVariables。Request对象按照这样的顺序依次搜索这几个集合中的变量,如果有符合的就中止,后面的就不管了。 
它的优先级顺序为
QueryString > Form > Cookies > ServerVariables

也就是说,如果存在名为id的地址栏参数,Request[ "id" ] 的效果和 Request.QueryString["id"] 是样的。
如果不存在名为id的地址栏参数,Request.QueryString["id"]将会返回空,但是Request[ "id" ]会继续检查是否存在名为id的表单提交元素,如果不存在,则继续尝试检查名为id的Cookie,如果不存在,继续检查名为id的服务器环境变量。它将最多做出4个尝试,只有四个尝试都失败,才返回空。

相关文章
|
5月前
|
应用服务中间件 数据安全/隐私保护
|
5月前
|
存储 Java 应用服务中间件
Request&Response(3)
Request&Response
52 0
|
5月前
|
Java Maven 数据安全/隐私保护
Request&Response(2)
Request&Response
45 0
|
5月前
|
Java 数据库连接 数据库
Request&Response(5)
Request&Response
47 0
|
6月前
|
Java 数据库连接 数据库
Request 和 Response详解(下)
Request 和 Response详解(下)
73 1
|
6月前
|
存储 缓存 前端开发
Request 和 Response详解(中)
Request 和 Response详解(中)
78 0
|
6月前
|
前端开发 Java 应用服务中间件
Request 和 Response详解(上)
Request 和 Response详解(上)
118 0
|
存储
Request和Response详解
Request和Response详解
107 0
|
Java 应用服务中间件 Apache
|
缓存 应用服务中间件 API
Request 和 Response总结
Request 和 Response总结