Request对象:为脚本提供了当客户端请求一个页面或者传递一个窗体时,客户端提供的全部信息。这包括能指明浏览器和用户的HTTP变量,在这个域名下存放在浏览器中的cookie,任何作为查询字符串而附于URL后面的字符串或页面的<FORM>段中的HTML控件的值。也提供使用Secure Socket Layer(SSL)或其他加密通信协议的授权访问,及有助于对连接进行管理的属性。
Response对象:用来访问服务器端所创建的并发回到客户端的响应信息。为脚本提供HTTP变量,指明服务器和服务器的功能和关于发回浏览器的内容的信息,以及任何将为这个域而存放在浏览器里新的cookie。它也提供了一系列的方法用来创建输出,例如无处不在的Response.Write方法。
cookie: Cookies是当你浏览某网站时,由Web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。 当你再次来到该网站时,网站通过读取Cookies,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。
讲的通俗一点就是:
Request(中文“请求”的意思):可以理解为客户端向服务器请求的信息,就是客户端向服务器请求时,把自己的浏览器信息、HTTP变量和保存在客户端的Cookie告诉服务器,这样服务器就可以根据这些信息判断是谁请求的,之前有没有请求过,对应客户端的Session是什么等等。
Response(中文“反应、响应”的意思):可以理解为服务器对客户端请求的响应,就是服务器接收到客户端的请求后,成生页面信息、Cookie(发到客户端后就保存在客户端)等发送到客户端。
一 Request对象
request对象可以用于访问人任何用HTTP请求的传递的信息,包括从HTML表单的POST方法或GET方法传递的参
数、Cookie和用户认证。下面介绍几个常用的属性。
1 属性
1)Form
获取窗体中变量的集合。其实它就是一个容器,将网页间需要传递的信息存放在Form中,网页接收即可。当
method的属性值为POST或GET时,所有作为请求提交的<form>段中的HTML控件/WEB控件单元的值的组合,每个
成员均为只读。下面用代码实现两个方法:
-
- <form id="form2" runat="server" method="post">
-
-
- <form id="form1" runat="server" method="get">
-
- protected void btnOK_Click(object sender, EventArgs e)
- {
- string name;
- name = Request.Form["TextBox1"];
- Response.Write(name);
-
-
- protected void btnOK_Click(object sender, EventArgs e)
- {
- string name;
- name = Request.QueryString ["TextBox1"];
- Response.Write(name);
- }
2)QueryString
依附于用户请求的URL后面的名称/数值或作为请求提交的且method属性值为Get的值。关于method=“get”具体的
例子见上。Querystring检索HTTP查询字符串变量的值,HTTP查询字符串有问号后的值制定。常用于页面跳转时,
参数的传递。具体代码展示:
- protected void btnOK_Click(object sender, EventArgs e)
- {
- Response.Redirect("Vote_ShowResult.aspx?voteid=" + this.masterID);
- }
二 Response对象
Response对象用于系那个客户浏览器发送服务器的数据。用户可以使用该对象将服务器端的数据用HTML的格
式发送到客户端浏览器。该对象的功能与Request对象的功能相反,Request对象用于得到用户提交的数据,而
Response对象用于将服务器的数据发送到用户浏览器,这是实现网页动态效果的基础。
1 属性
1)Buffer属性
在asp.net 程序中,可以为页面在服务器端设置一个缓冲区。其实缓冲区就是一个存储区,可以在其释放数据之
前容纳一段时间。设置缓冲区后,服务器端可以减少与客户端连接的次数而调高整体的相应速度,并可在满足某些
条件时撤销已经处理的结果,而不会出现响应完成一部分就停止的状况。通过Beffer属性决定打开/关闭缓存。若为false则关闭缓存,若为true则打开缓存。Buffer属性的更改必须放在HTML或脚本输出之前,因为任何内容发送到浏览器后Buffer属性值就不能再更改,否则会引起错误。
注意:在asp.net 文件的任意地方用到Redirect方法重定向页面,必须在文件开头关闭Buffer属性,否则会报错。
2)status属性
用来传递服务器HTTP响应的状态。可以用来处理HTTP请求后服务器返回的错误。服务器返回状态码有3位数字构成,可以根据状态码来确定服务器是如何处理HTTP请求的。在调试过程或向客户端返回有关错误时,status属性很重要,可以根据状态码来明确错误源。
另:很全的状态码 http://blog.sina.com.cn/s/blog_4ae187490100x9u7.html
3)IsClientConnected属性
它是只读属性 ,用来指示上次调用Response.write后,客户端是否与服务器相连。该属性允许用户在客户端与服务器没有连接的情况下更多的控制。例如
2方法
1)Write
它是Reponse对象中最常用的方法之一,它可以把变量的值发送到客户端的当前页,它几乎和一输出所有的对象和数据。在write方法中可以嵌入任何HTML标记,只要该标记是合法的。
2)Clear
clear用于清除缓冲区所有HTML输出,但是它只删除相应正文而不删除相应标题。在服务器上的程序产生错误时,可用clear方法来处理错误情况。
注:clear方法仅当Response对象的Buffer属性设为True时才起作用。如果Buffer属性未设置为True,则clear方法将导致运行错误。
3)End
End方法使服务器停止当前脚本的处理并返回当前结果。如果response对象的Buffer设为为True,则End方法立即把缓存中的内容发送到客户端并清除缓存。因此,若想取消向客户端的所有输出,可以先用clear方法清除缓存,再用End方法停止脚本的处理。
4)Redirect
在普通网页中,可以使用超链接的方式来引导放我这跳转到另一个页面,但是这个过程需要访问者单击一个超链接才进行。response对象的redirect方法则可以自动完成页面间的跳转,而访问者几乎不会感觉出来。
总结:
Response对象用于接收客户端浏览器提交的数据,而Request对象的功能则是将服务端的数据发送到客户端浏览器。