亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

ASP內置對象Request和Response的詳解_ASP教程

2024-05-04 11:03:53
字體:
來源:轉載
供稿:網友

推薦:ASP技巧:提高使用Request集合的效率
訪問一個ASP集合來提取一個值是費時的、占用計算資源的過程。因為這個操作包含了一系列對相關集合的搜索,這比訪問一個局部變量要慢得多。因此,如果打算在頁面中多次使用Request集合中的一個值

Request和Response這兩個對象是ASP所提供的內置對象中最常用的兩個。在瀏覽器(或其他用戶代理)和Web服務器之間,請求與響應中發生的信息交流可以通過ASP中的兩個內置對象來進行訪問和管理,這兩個對象稱為Request和Response對象。

在ASP頁中所要進行的工作幾乎都要訪問這兩個對象,使用這兩個對象的方式將影響頁面的效率及可靠性。當然,它們的主要用途是訪問用戶發回到服務器的值,即從HTML頁的<FORM>段獲得或附在URL后面作為查詢字符串,并創建合適的輸出返回給用戶,且它們可以共享很多相同的因素。例如兩個對象都可以使用存儲在客戶端計算機上的cookie。

因此,我們把內容分成兩個獨立的部分(每個對象一部分),并且首先從客戶端與服務器這間的信息交流入手,然后再研究每一個對象。

研究的內容是:

· 客戶端與服務器如何交流以傳遞Web或其他資源。

· Request和Response對象的細節,以及它們之間的共同點。

· 如何通過一個窗體和查詢字符串訪問相應的值。

· 如何讀入或創建cookie并存放在客戶端的計算機上。

· 服務器的變量是什么?如何訪問和修改HTTP報頭。

· 說明其他相關條目的變化,如客戶的證書使用。

客戶端和服務器的交流

為節省篇幅,后面的內容中使用“瀏覽器”(browser)一詞。但需要記住的是,能夠訪問Web頁面的應用程序絕不僅只有瀏覽器,有許多特殊的應用程序從站點上下載網頁,如為那些視力有缺陷用戶設計的特殊的客戶端程序或者是用通常的瀏覽器有其他困難的人。最顯而易見的例子是搜索引擎用來訪問Web上的站點的robot。全面考慮這些因素,包括普通的Web瀏覽器,準確的詞匯應該是用戶代理(user agent)。

頁面請求的對話

當一個瀏覽器向Web站點提出頁面請求時,顯然必須告訴服務器,其請求的是哪一個頁面。首先要做的是通過域名與服務器建立連接,然后提供所請求的頁面的全路徑和名稱。為什么要全路徑和名稱?Web是一個無國界的環境,所以必須創造一個會話標識每個客戶(將在以后介紹ASP如何做到這點)。

這就意味著每當服務器完成向客戶發送頁面后,服務器就徹底忘記了這個客戶。因此,當客戶請求下一個頁面時,與一個新的訪問者是完全相同的。服務器無法記住這個客戶,相應的,也就無法判斷它們上次請求的頁面是哪一個。因為,不能使用相對路徑來提供一個頁面,即使頁面包含一個相對的鏈接也不行,例如:

<A HREF=http://www.CuoXIncom/”Download.asp”>Next Page</A>

瀏覽器將自動建立完整的新頁面的URL,方法是使用當前頁的域和路徑;或使用頁面<HEAD>段中的<BASE>元素,告訴瀏覽器一個頁面中所有鏈接的其URL是什么。例如:

<BASE HERF=http://www.CuoXIn.com>
  當把鼠標指向一個頁面的鏈接時,可在瀏覽器的狀態欄中看到。當前頁面的路徑和當前域名或基域名或基路徑已經與請求的頁面名結合在一起了。

1、客戶請求的細節

所請求頁面的全路徑和名稱的組合是瀏覽器請求頁面時發住服務器的唯一住處瀏覽器的請求也能包含瀏覽器宿主的住處和客戶端運行的操作系統。實際的信息內容將隨著瀏覽器的不同而有相應的變化,只有很少一部分能夠由其他的應用程序如搜索引擎robot提供。為了更清楚地了解該信息,下面是從IE 5.0發出的一個對頁面


Download.asp的請求信息:

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/4/99 10:10:13 AM
User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)
Host: 212.250.238.67
Connection: Keep-Alive

從中可以看出,這些信息中有關于用戶代理和用戶連接的細節(如缺省的語言),也有能夠接受的文件或應用程序的類型列表,這些都是MIME類型的,在后面將會見到更多。瀏覽器能夠接受幾種圖像文件及多種Microsoft Office文件類型。“標準”的文件類型,如tesx/html和text/text沒有列在其中。文件列表中*/*表示可向瀏覽器發回任何類型的文件,由瀏覽器解釋或通過一個插件(plug-in)應用程序來進行解釋。

cookie: 條目包含的cookie存放在客戶端的計算機上,并僅對該域有效。假如請求是點擊鏈接的結果,而不是在瀏覽器的地址欄直接輸入URL,則Referer:條目被顯示出來,它包含了鏈接頁面的完整的URL。

Host:條目包含客戶計算機的IP地址或名稱。然而,這還不足以準確辨別客戶機。因為它們通過ISP連接時,IP地址是動態分配的,或者通過一個代理服務器連接時,IP地址是代理機的而不是實際的客戶機的。

2、服務器響應的細節信息

為響應上述的請求,并對匿名的瀏覽器(即用戶不必提供用戶名和訪問口令)提供請求的頁面,下面的內容是從服務器發往客戶機的:

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/8/99 10:27:16 AM
<HTML>
… rest of page …
</HTML>

可以看出服務器向客戶端說明自己所用的軟件及版本,第一行表明所使用的是HTTP協議,及返回碼的狀態。信息“200 OK”表示請求被接受并得到了滿足。后面的信息是被返回的頁面的細節,包括MIME類型(Content-Length:)、大小(字節)、最近更改時間,和返回客戶端存儲的cookie。響應中的其他信息是頁面內容的信息流。

在某些情況下,服務器響應一個請求后,不能返回一個頁面,也許因為頁面不存在,或都客戶沒有相應的權限來訪問它。我們將在后面討論安全問題。現在,對于請求頁面不存在的情況(例如用戶在瀏覽器的地址欄輸入了錯誤的URL),返回的信息開頭為:

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服務器的幾種環境變量的值的集合,每個成員均為只讀

  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對象也提供一系列的屬性,可以讀?。ǘ鄶登闆r下)和修改,使響應能夠適應請求。這些由服務器設置,我們不需要設置它們。需要注意的是,當設置某些屬性時,使用的語法可能與通常所使用的有一定的差異。

  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 讀/寫,數值型,指明頁面有效的以分鐘計算的時間長度,假如用戶請求其有效期滿之前的相同頁面,將直接讀取顯示緩沖中的內容,這個有效期間過后,頁面將不再保留在私有(用戶)或公用(代理服務器)緩沖中
Expires Absolute #date [time]# 讀/寫,日期/時間型,指明當一個頁面過期和不再有效時的絕對日期和時間
IsClientConnected 只讀,布爾型,返回客戶是否仍然連接和下載頁面的狀態標志。在當前的頁面已執行完畢之前,假如一個客戶轉移到別一個頁面,這個標志可用來中止處理(使用Response.End方法)
PICS(“PICS-Label-string”) 只寫,字符型,創建一個PICS報頭定義頁面內容中的詞匯等級,如暴力、性、不良語言等
Status=”Code message” 讀/寫,字符型,指明發回客戶的響應的HTTP報頭中表明錯誤或頁面處理是否成功的狀態值和信息。例如“200 OK”和“404 Not Found”

  c) Response對象的方法

  Response對象提供一系列的方法,如下表所示,允許直接處理為返回給客戶端而創建的頁面內容。

  Response對象的方法及說明

方法 說明
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緩沖區寫入指定的字符,使之成為返回頁面的一部分

分享:ASP開發中存儲過程應用全接觸
ASP與存儲過程(Stored Procedures)的文章不少,但是我懷疑作者們是否真正實踐過。我在初學時查閱過大量相關資料,發現其中提供的很多方法實際操作起來并不是那么回事。對于簡單的應用,這些資料

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲午夜国产成人av电影男同| 亚洲国产精品久久久久| 亚洲一区二区三区sesese| 精品在线小视频| 久久国产精品久久国产精品| 久久69精品久久久久久国产越南| 国内伊人久久久久久网站视频| 亚洲男人天堂九九视频| 欧美成人免费全部观看天天性色| 少妇激情综合网| 欧美重口另类videos人妖| 亚洲成人久久电影| 成人性生交大片免费看小说| 欧美日韩一区二区三区| 欧美高清在线播放| 亚洲国产精品成人va在线观看| 国产精品一区二区av影院萌芽| 91日本视频在线| 97热在线精品视频在线观看| 国产视频999| 亚洲综合国产精品| 黑人巨大精品欧美一区二区免费| 日韩电影网在线| 久久久久久一区二区三区| 欧美裸体男粗大视频在线观看| 日韩精品免费观看| 久久久亚洲网站| 日韩性生活视频| 亚洲九九九在线观看| 国产精品久久久久久久久影视| 国产精品视频一区国模私拍| 影音先锋欧美在线资源| 欧美激情久久久久| 91香蕉嫩草影院入口| 亚洲一区av在线播放| 成人中文字幕在线观看| 国产日韩av在线播放| 亚洲qvod图片区电影| 国产视频久久久久久久| 91最新国产视频| 亚洲天堂网站在线观看视频| 国产精品三级美女白浆呻吟| 51精品国产黑色丝袜高跟鞋| 91精品久久久久久久久中文字幕| 久久久噜噜噜久噜久久| 欧美一二三视频| 91精品综合久久久久久五月天| 久久精品中文字幕一区| 欧美日韩中文字幕综合视频| 91在线中文字幕| 精品久久久国产精品999| 欧美高清视频在线观看| 欧美wwwxxxx| 国产精品久久久久久久久久久不卡| 国产精品白嫩初高中害羞小美女| 亚洲国产另类久久精品| 亚洲国产精品成人一区二区| 国产精品久久久久不卡| 欧美日韩国产va另类| 亚洲国产古装精品网站| 亚洲国产精品久久久久久| 亚洲欧洲在线播放| 日韩成人小视频| 精品国产一区二区三区四区在线观看| 欧美极品少妇全裸体| 国产精品视频精品| 欧美日本高清视频| 2020国产精品视频| 亚洲色图15p| 国产日韩精品在线观看| 欧美乱大交做爰xxxⅹ性3| 久色乳综合思思在线视频| 久久国产精品偷| 亚洲一区二区三区视频| 久久久久久久成人| 日本视频久久久| 深夜福利一区二区| 狠狠躁夜夜躁人人躁婷婷91| 欧美在线精品免播放器视频| 亚洲第一精品电影| 日韩大陆毛片av| 国内精品小视频在线观看| 成人高h视频在线| 欧美性高潮床叫视频| 秋霞av国产精品一区| 亚洲精品成人久久久| 51午夜精品视频| 亚洲人成电影网站色…| 国产精品久久久久久久久久久新郎| 久久在线观看视频| 国产va免费精品高清在线观看| 成人av.网址在线网站| 欧美成人免费视频| 亚洲黄色www网站| 国语自产精品视频在免费| 中文字幕在线看视频国产欧美| 欧美大片在线看免费观看| 青青草一区二区| 一区二区三区动漫| 91免费看片网站| 欧美激情中文字幕在线| 国产精品看片资源| 国产精品永久在线| 成人国产在线激情| 欧美日韩视频免费播放| 亚洲资源在线看| 综合久久五月天| 日韩av电影在线网| 欧美视频中文在线看| 久久久黄色av| 欧美激情久久久久| 国产精品激情av在线播放| 亚洲欧洲日产国产网站| 国a精品视频大全| 久久精品91久久香蕉加勒比| 国产成人精品免费视频| 色与欲影视天天看综合网| 国产日韩欧美自拍| 日韩精品中文字幕在线| 国产精品黄色影片导航在线观看| 精品国产一区二区三区久久狼黑人| 色一区av在线| 91人人爽人人爽人人精88v| 成人福利视频网| 久久99视频免费| 亚洲精品xxxx| 日韩亚洲国产中文字幕| 91成人性视频| 日韩在线观看免费全| 亚洲无亚洲人成网站77777| 伊是香蕉大人久久| 国产精品成av人在线视午夜片| 国产精品jvid在线观看蜜臀| 国产一区二区免费| 国产在线视频欧美| 欧美精品18videosex性欧美| 成人a视频在线观看| 国产精品久在线观看| 成人伊人精品色xxxx视频| 中日韩美女免费视频网站在线观看| 国产91在线播放九色快色| 欧美一级在线亚洲天堂| 国产999在线| 国产精品视频色| 欧美日韩性视频| 成人免费网站在线| 欧美日韩亚洲一区二| 欧美—级a级欧美特级ar全黄| 亚洲xxxx做受欧美| 国产一区私人高清影院| 国产女同一区二区| 欧美一级成年大片在线观看| 亚洲xxx大片| www欧美日韩| 国内精品视频久久| 亚洲性视频网址| 黄色成人在线免费| 午夜精品视频在线| 日韩精品中文字幕有码专区| 亚洲人成电影在线播放| 91日本在线视频| 久久午夜a级毛片| 欧美乱大交xxxxx| 中文字幕一区二区三区电影|