从ASP中能够应用客户请求和服务器响应的细节是通过ASP内置的Request和Response对象来实现的。
· Request对象:为脚本提供了当客户端请求一个页面或者传递一个窗体时,客户端提供的全部信息。这包括能指明浏览器和用户的HTTP变量,在这个域名下存放在浏览器中的cookie,任何作为查询字符串而附于URL后面的字符串或页面的<FORM>段中的HTML控件的值。也提供使用Secure Socket Layer(SSL)或其他加密通信协议的授权访问,及有助于对连接进行管理的属性。
· Response对象:用来访问服务器端所创建的并发回到客户端的响应信息。为脚本提供HTTP变量,指明服务器和服务器的功能和关于发回浏览器的内容的信息,以及任何将为这个域而存放在浏览器里新的cookie。它也提供了一系列的方法用来创建输出,例如无处不在的Response.Write方法。
1、 Request对象成员的概述
a) Request对象的集合
对象调用方法:Request.Cookies("UserName")=UserName
Request对象提供了5个集合,可以用来访问客户端对Web服务器请求的各类信息,这些集合如下表:
Request对象的集合及说明
集合名称:ClientCertificate
说明:当客户端访问一个页面或其他资源时,用来向服务器表明身份的客户证书的所有字段或条目的数值集合,每个成员均是只读
集合名称:Cookies
说明: 根据用户的请求,用户系统发出的所有cookie的值的集合,这些cookie仅对相应的域有效,每个成员均为只读
集合名称:Form
说明: METHOD的属性值为POST时,所有作为请求提交的<FORM>段中的HTML控件单元的值的集合,每个成员均为只读
集合名称:QueryString
说明: 依附于用户请求的URL后面的名称/数值对或者作为请求提交的且METHOD属性为GET(或者省略其属性)的,或<FORM>中所有HTML控件单元的值,每个成员均为只读
集合名称:ServerVariables
说明: 随同客户端请求发出的HTTP报头值,以及Web服务器的几种环境变量的值的集合,每个成员均为只读
b) Request对象的属性
Request对象唯一的属性及说明如下表所示,它提供用户请求的字节数量的信息,它很少用于ASP页,我们通常关注指定值而不是整个请求字符串。
属性:TotlBytes
说明:只读,返回由客户端发出的请求的整个字节数量
c) Request对象的方法
Request对象唯一的方法及说明如下表所示,它允许访问从一个<FORM>段中传递给服务器的用户请求部分的完整内容。
Request对象的方法及说明
方法: BinaryRead(count)
说明:当数据作为POST请求的一部分发往服务器时,从客户请求中获得count字节的数据,返回一个Variant数组(或者SafeArray)。如果ASP代码已经引用了Request.Form集合,这个方法就不能用。同时,如果用了BinaryRead方法,就不能访问Request.Form集合
2、 Response对象成员概述
a) Response对象的集合
Response对象只有一个集合,如下表所示,该集合设置希望放置在客户系统上的cookie的值,它直接等同于Request.Cookies集合。
Response对象的集合及说明
集合名称: Cookies
说明:在当前响应中,发回客户端的所有cookie的值,这个集合为只写
b) Response对象的属性
Response对象也提供一系列的属性,可以读取(多数情况下)和修改,使响应能够适应请求。这些由服务器设置,我们不需要设置它们。需要注意的是,当设置某些属性时,使用的语法可能与通常所使用的有一定的差异。
Response对象的属性及说明
属性:Buuffer=True|False
说明:读/写,布尔型,表明由一个ASP页所创建的输出是否一直存放在IIS缓冲区,直到当前页面的所有服务器脚本处理完毕或Flush、End方法被调用。在任何输出(包括HTTP报送信息)送住IIS之前这个属性必须设置。因此在.asp文件中,这个设置应该<%@LANGUAGE=…%>语句后面的第一行。ASP 3.0缺省设置缓冲为开(True),而在早期版本中缺省为关(False)
属性:CacheControl”setting”
说明:读/写,字符型,设置这个属性为“Public”允许代理服务器缓存页面,如为“Private”则禁止代理服务器缓存的发生
属性:Charset=”value”
说明:读/写,字符型,在由服务器为每个响应创建的HTTP Content-Type报头中附上所用的字符集名称(例如:ISO-LATIN-7)
属性:Content Type=”MIME-type”
说明:读/写,字符型,指明响应的HTTP内容类型,标准的MIME类型(例如“text/xml”或者“Image/gif”)。假如缺省,表示使用MIME类型“text/html”,内容类型告诉浏览器所期望内容的类型
属性:Expires minutes
说明:读/写,数值型,指明页面有效的以分钟计算的时间长度,假如用户请求其有效期满之前的相同页面,将直接读取显示缓冲中的内容,这个