<A HREF=”Download.asp”>Next Page</A>
<BASE HERF=http://www.wrox.com/Store>
7/8/99 10:27:16 Sent GET /Store/Download.asp HTTP/1.1
Accept: application/msword, application/vnd.ms-execl, application/vnd.ms-
powerpoint, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-
comet, */*
Accept-Language: en-us
Encoding: gzip, deflate
Referer: http://ww.wrox.com/main_menu.asp
Cookie: VisitCount=2&LASTDATE=6%2F4%2F99+10%3A10%3A13+AM
User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)
Host: 212.250.238.67
Connection: Keep-Alive
7/8/99 10:27:16 Received HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Connection: Keep-Alive
Date: Thu, 8 Jul 1999 10:27:16 GMT
Content-Type: text/html
Accept-Ranges: bytes
Content-Length: 2946
Last-Modified: Thu, 8 Jul 1999 10:27:16 GMT
Cookie: VisitCount=3&LASTDATE=7%2F8%2F99+10%3A27%3A16+AM
<HTML>
… rest of page …
</HTML>
7/8/99 14:27:16 Received HTTP/1.1 404 Not Found
Server: Microsoft-IIS/5.0
…
這里,狀態(tài)碼和信息表明客戶請(qǐng)求的頁(yè)面無(wú)法找到。瀏覽器可使用這個(gè)信息向用戶顯示相應(yīng)的信息(這種情況在IE 5.0中不顯示服務(wù)器的響應(yīng)信息,而顯示相應(yīng)“幫助性”的錯(cuò)誤提示頁(yè)面),也可顯示服務(wù)器創(chuàng)建的缺省頁(yè)面(依賴服務(wù)器的設(shè)置)。 Request和Response對(duì)象
從ASP中能夠應(yīng)用客戶請(qǐng)求和服務(wù)器響應(yīng)的細(xì)節(jié)是通過ASP內(nèi)置的Request和Response對(duì)象來(lái)實(shí)現(xiàn)的。
· Request對(duì)象:為腳本提供了當(dāng)客戶端請(qǐng)求一個(gè)頁(yè)面或者傳遞一個(gè)窗體時(shí),客戶端提供的全部信息。這包括能指明瀏覽器和用戶的HTTP變量,在這個(gè)域名下存放在瀏覽器中的cookie,任何作為查詢字符串而附于URL后面的字符串或頁(yè)面的<FORM>段中的HTML控件的值。也提供使用Secure Socket Layer(SSL)或其他加密通信協(xié)議的授權(quán)訪問,及有助于對(duì)連接進(jìn)行管理的屬性。
· Response對(duì)象:用來(lái)訪問服務(wù)器端所創(chuàng)建的并發(fā)回到客戶端的響應(yīng)信息。為腳本提供HTTP變量,指明服務(wù)器和服務(wù)器的功能和關(guān)于發(fā)回瀏覽器的內(nèi)容的信息,以及任何將為這個(gè)域而存放在瀏覽器里新的cookie。它也提供了一系列的方法用來(lái)創(chuàng)建輸出,例如無(wú)處不在的Response.Write方法。
1、 Request對(duì)象成員的概述
a) Request對(duì)象的集合
Request對(duì)象提供了5個(gè)集合,可以用來(lái)訪問客戶端對(duì)Web服務(wù)器請(qǐng)求的各類信息,這些集合如下表:
Request對(duì)象的集合及說明
集合名稱 | 說明 |
ClientCertificate | 當(dāng)客戶端訪問一個(gè)頁(yè)面或其他資源時(shí),用來(lái)向服務(wù)器表明身份的客戶證書的所有字段或條目的數(shù)值集合,每個(gè)成員均是只讀 |
Cookies | 根據(jù)用戶的請(qǐng)求,用戶系統(tǒng)發(fā)出的所有cookie的值的集合,這些cookie僅對(duì)相應(yīng)的域有效,每個(gè)成員均為只讀 |
Form | METHOD的屬性值為POST時(shí),所有作為請(qǐng)求提交的<FORM>段中的HTML控件單元的值的集合,每個(gè)成員均為只讀 |
QueryString | 依附于用戶請(qǐng)求的URL后面的名稱/數(shù)值對(duì)或者作為請(qǐng)求提交的且METHOD屬性為GET(或者省略其屬性)的,或<FORM>中所有HTML控件單元的值,每個(gè)成員均為只讀 |
ServerVariables | 隨同客戶端請(qǐng)求發(fā)出的HTTP報(bào)頭值,以及Web服務(wù)器的幾種環(huán)境變量的值的集合,每個(gè)成員均為只讀 |
屬性 | 說明 |
TotlBytes | 只讀,返回由客戶端發(fā)出的請(qǐng)求的整個(gè)字節(jié)數(shù)量 |
方法 | 說明 |
BinaryRead(count) | 當(dāng)數(shù)據(jù)作為POST請(qǐng)求的一部分發(fā)往服務(wù)器時(shí),從客戶請(qǐng)求中獲得count字節(jié)的數(shù)據(jù),返回一個(gè)Variant數(shù)組(或者SafeArray)。如果ASP代碼已經(jīng)引用了Request.Form集合,這個(gè)方法就不能用。同時(shí),如果用了BinaryRead方法,就不能訪問Request.Form集合 |
集合名稱 | 說明 |
Cookies | 在當(dāng)前響應(yīng)中,發(fā)回客戶端的所有cookie的值,這個(gè)集合為只寫 |
屬性 | 說明 |
Buuffer=True|False | 讀/寫,布爾型,表明由一個(gè)ASP頁(yè)所創(chuàng)建的輸出是否一直存放在IIS緩沖區(qū),直到當(dāng)前頁(yè)面的所有服務(wù)器腳本處理完畢或Flush、End方法被調(diào)用。在任何輸出(包括HTTP報(bào)送信息)送住IIS之前這個(gè)屬性必須設(shè)置。因此在.asp文件中,這個(gè)設(shè)置應(yīng)該在<%@LANGUAGE=…%>語(yǔ)句后面的第一行。ASP 3.0缺省設(shè)置緩沖為開(True),而在早期版本中缺省為關(guān)(False) |
CacheControl”setting” | 讀/寫,字符型,設(shè)置這個(gè)屬性為“Public”允許代理服務(wù)器緩存頁(yè)面,如為“Private”則禁止代理服務(wù)器緩存的發(fā)生 |
Charset=”value” | 讀/寫,字符型,在由服務(wù)器為每個(gè)響應(yīng)創(chuàng)建的HTTP Content-Type報(bào)頭中附上所用的字符集名稱(例如:ISO-LATIN-7) |
Content Type=”MIME-type” | 讀/寫,字符型,指明響應(yīng)的HTTP內(nèi)容類型,標(biāo)準(zhǔn)的MIME類型(例如“text/xml”或者“Image/gif”)。假如缺省,表示使用MIME類型“text/html”,內(nèi)容類型告訴瀏覽器所期望內(nèi)容的類型 |
Expires minutes | 讀/寫,數(shù)值型,指明頁(yè)面有效的以分鐘計(jì)算的時(shí)間長(zhǎng)度,假如用戶請(qǐng)求其有效期滿之前的相同頁(yè)面,將直接讀取顯示緩沖中的內(nèi)容,這個(gè)有效期間過后,頁(yè)面將不再保留在私有(用戶)或公用(代理服務(wù)器)緩沖中 |
Expires Absolute #date [time]# | 讀/寫,日期/時(shí)間型,指明當(dāng)一個(gè)頁(yè)面過期和不再有效時(shí)的絕對(duì)日期和時(shí)間 |
IsClientConnected | 只讀,布爾型,返回客戶是否仍然連接和下載頁(yè)面的狀態(tài)標(biāo)志。在當(dāng)前的頁(yè)面已執(zhí)行完畢之前,假如一個(gè)客戶轉(zhuǎn)移到別一個(gè)頁(yè)面,這個(gè)標(biāo)志可用來(lái)中止處理(使用Response.End方法) |
PICS(“PICS-Label-string”) | 只寫,字符型,創(chuàng)建一個(gè)PICS報(bào)頭定義頁(yè)面內(nèi)容中的詞匯等級(jí),如暴力、性、不良語(yǔ)言等 |
Status=”Code message” | 讀/寫,字符型,指明發(fā)回客戶的響應(yīng)的HTTP報(bào)頭中表明錯(cuò)誤或頁(yè)面處理是否成功的狀態(tài)值和信息。例如“200 OK”和“404 Not Found” |
方法 | 說明 |
AddHeader(“name”,”content”) | 通過使用name和Content值,創(chuàng)建一個(gè)定制的HTTP報(bào)頭,并增加到響應(yīng)之中。不能替換現(xiàn)有的相同名稱的報(bào)頭。一旦已經(jīng)增加了一個(gè)報(bào)頭就不能被刪除。這個(gè)方法必須在任何頁(yè)面內(nèi)容(即text和HTML)被發(fā)住客戶端前使用 |
AppendToLog(“string”) | 當(dāng)使用“W3C Extended Log File Format”文件格式時(shí),對(duì)于用戶請(qǐng)求的Web服務(wù)器的日志文件增加一個(gè)條目。至少要求在包含頁(yè)面的站點(diǎn)的“Extended Properties”頁(yè)中選擇“URL Stem” |
BinaryWrite(safeArray) | 在當(dāng)前的HTTP輸出流中寫入Variant類型的SafeArray,而不經(jīng)過任何字符轉(zhuǎn)換。對(duì)于寫入非字符串的信息,例如定制的應(yīng)用程序請(qǐng)求的二進(jìn)制數(shù)據(jù)或組成圖像文件的二進(jìn)制字節(jié),是非常有用的 |
Clear() | 當(dāng)Response.Buffer為True時(shí),從IIS響應(yīng)緩沖中刪除現(xiàn)存的緩沖頁(yè)面內(nèi)容。但不刪除HTTP響應(yīng)的報(bào)頭,可用來(lái)放棄部分完成的頁(yè)面 |
End() | 讓ASP結(jié)束處理頁(yè)面的腳本,并返回當(dāng)前已創(chuàng)建的內(nèi)容,然后放棄頁(yè)面的任何進(jìn)一步處理 |
Flush() | 發(fā)送IIS緩沖中所有當(dāng)前緩沖頁(yè)給客戶端。當(dāng)Response.Buffer為True時(shí),可以用來(lái)發(fā)送較大頁(yè)面的部分內(nèi)容給個(gè)別的用戶 |
Redirect(“url”) | 通過在響應(yīng)中發(fā)送一個(gè)“302 Object Moved”HTTP報(bào)頭,指示瀏覽器根據(jù)字符串url下載相應(yīng)地址的頁(yè)面 |
Write(“string”) | 在當(dāng)前的HTTP響應(yīng)信息流和IIS緩沖區(qū)寫入指定的字符,使之成為返回頁(yè)面的一部分 |
聯(lián)系客服