<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 … |
這里,狀態碼和信息表明客戶請求的頁面無法找到。瀏覽器可使用這個信息向用戶顯示相應的信息(這種情況在IE 5.0中不顯示服務器的響應信息,而顯示相應“幫助性”的錯誤提示頁面),也可顯示服務器創建的缺省頁面(依賴服務器的設置)。 Request和Response對象
從ASP中能夠應用客戶請求和服務器響應的細節是通過ASP內置的Request和Response對象來實現的。
· Request對象:為腳本提供了當客戶端請求一個頁面或者傳遞一個窗體時,客戶端提供的全部信息。這包括能指明瀏覽器和用戶的HTTP變量,在這個域名下存放在瀏覽器中的cookie,任何作為查詢字符串而附于URL后面的字符串或頁面的<FORM>段中的HTML控件的值。也提供使用Secure Socket Layer(SSL)或其他加密通信協議的授權訪問,及有助于對連接進行管理的屬性。
· Response對象:用來訪問服務器端所創建的并發回到客戶端的響應信息。為腳本提供HTTP變量,指明服務器和服務器的功能和關于發回瀏覽器的內容的信息,以及任何將為這個域而存放在瀏覽器里新的cookie。它也提供了一系列的方法用來創建輸出,例如無處不在的Response.Write方法。
1、 Request對象成員的概述
a) Request對象的集合
Request對象提供了5個集合,可以用來訪問客戶端對Web服務器請求的各類信息,這些集合如下表:
Request對象的集合及說明
集合名稱 | 說明 |
ClientCertificate | 當客戶端訪問一個頁面或其他資源時,用來向服務器表明身份的客戶證書的所有字段或條目的數值集合,每個成員均是只讀 |
Cookies | 根據用戶的請求,用戶系統發出的所有cookie的值的集合,這些cookie僅對相應的域有效,每個成員均為只讀 |
Form | METHOD的屬性值為POST時,所有作為請求提交的<FORM>段中的HTML控件單元的值的集合,每個成員均為只讀 |
QueryString | 依附于用戶請求的URL后面的名稱/數值對或者作為請求提交的且METHOD屬性為GET(或者省略其屬性)的,或<FORM>中所有HTML控件單元的值,每個成員均為只讀 |
ServerVariables | 隨同客戶端請求發出的HTTP報頭值,以及Web服務器的幾種環境變量的值的集合,每個成員均為只讀 |
屬性 | 說明 |
TotlBytes | 只讀,返回由客戶端發出的請求的整個字節數量 |
方法 | 說明 |
BinaryRead(count) | 當數據作為POST請求的一部分發往服務器時,從客戶請求中獲得count字節的數據,返回一個Variant數組(或者SafeArray)。如果ASP代碼已經引用了Request.Form集合,這個方法就不能用。同時,如果用了BinaryRead方法,就不能訪問Request.Form集合 |
集合名稱 | 說明 |
Cookies | 在當前響應中,發回客戶端的所有cookie的值,這個集合為只寫 |
屬性 | 說明 |
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 | 讀/寫,數值型,指明頁面有效的以分鐘計算的時間長度,假如用戶請求其有效期滿之前的相同頁面,將直接讀取顯示緩沖中的內容,這個有效期間過后,頁面將不再保留在私有(用戶)或公用(代理服務器)緩沖中 |
Expires Absolute #date [time]# | 讀/寫,日期/時間型,指明當一個頁面過期和不再有效時的絕對日期和時間 |
IsClientConnected | 只讀,布爾型,返回客戶是否仍然連接和下載頁面的狀態標志。在當前的頁面已執行完畢之前,假如一個客戶轉移到別一個頁面,這個標志可用來中止處理(使用Response.End方法) |
PICS(“PICS-Label-string”) | 只寫,字符型,創建一個PICS報頭定義頁面內容中的詞匯等級,如暴力、性、不良語言等 |
Status=”Code message” | 讀/寫,字符型,指明發回客戶的響應的HTTP報頭中表明錯誤或頁面處理是否成功的狀態值和信息。例如“200 OK”和“404 Not Found” |
方法 | 說明 |
AddHeader(“name”,”content”) | 通過使用name和Content值,創建一個定制的HTTP報頭,并增加到響應之中。不能替換現有的相同名稱的報頭。一旦已經增加了一個報頭就不能被刪除。這個方法必須在任何頁面內容(即text和HTML)被發住客戶端前使用 |
AppendToLog(“string”) | 當使用“W3C Extended Log File Format”文件格式時,對于用戶請求的Web服務器的日志文件增加一個條目。至少要求在包含頁面的站點的“Extended Properties”頁中選擇“URL Stem” |
BinaryWrite(safeArray) | 在當前的HTTP輸出流中寫入Variant類型的SafeArray,而不經過任何字符轉換。對于寫入非字符串的信息,例如定制的應用程序請求的二進制數據或組成圖像文件的二進制字節,是非常有用的 |
Clear() | 當Response.Buffer為True時,從IIS響應緩沖中刪除現存的緩沖頁面內容。但不刪除HTTP響應的報頭,可用來放棄部分完成的頁面 |
End() | 讓ASP結束處理頁面的腳本,并返回當前已創建的內容,然后放棄頁面的任何進一步處理 |
Flush() | 發送IIS緩沖中所有當前緩沖頁給客戶端。當Response.Buffer為True時,可以用來發送較大頁面的部分內容給個別的用戶 |
Redirect(“url”) | 通過在響應中發送一個“302 Object Moved”HTTP報頭,指示瀏覽器根據字符串url下載相應地址的頁面 |
Write(“string”) | 在當前的HTTP響應信息流和IIS緩沖區寫入指定的字符,使之成為返回頁面的一部分 |
新聞熱點
疑難解答