當伺服器將網頁資訊回傳至用戶端時,通常會在網頁資料之前,先傳送一些表頭資訊,這些資訊可以讓用戶端的瀏覽器知道如何呈現所收到的資料。下面這個範例,使用 Response.Redirect 來進行轉址:
在上述範例中,只要使用者任選一個選項,網頁即會轉址到相關的網址。上述範例的原始檔如下:
特別要注意的是:Response.Redirect 所包含的資訊都是屬於表頭資訊,在 Response.Buffer = false 的情況下,這些表頭資訊必須出現在任何網頁內容之前,否則就會造成錯誤。(後續會有詳細說明。)
下面這個範例,使用 Response.Charset 傳送網頁文件的編碼資訊:
上述範例的原始檔如下:
在上述範例中,我們經由 Response.Charset="x-sjis" 將文件編碼設定成日文編碼,所以看不到中文。(如果你的系統沒有安裝日文字形,IE 也會詢問是否要安裝日文字形。)只有經由手動將網頁編碼改成「繁體中文 (Big 5)」,才能看的到網頁中的中文。
其實,在上述範例中,網頁所包含的檔案 head.inc 已經有在 meta 標籤內註明 charset=big5,由此可見 IIS 伺服器會以 ASP 程式碼內的 Response.Charset 為主,而忽略 meta 標籤內的設定。
我們也可以使用 Response 物件的 AddHeader 方法來加入表單資訊,例如,在下個範例中,我們在表單資訊定義三秒後轉址,因此下列範例會在三秒後直接轉址到清華大學的首頁,如下:
上述範例的原始檔如下:
在上述範例中,使用 AddHeader 所得到的效果,是和下列 HTML 網頁中的 <meta> 標籤所得到的轉址效果是一樣的:
<meta http-equiv="Refresh" content="3; URL=http://www.cs.nthu.edu.tw">下面這個範例列印出 Response 物件的各個性質的預設值:
上述範例的原始檔如下:
其中 Response.Status 紀錄網頁回傳的狀態,若是「200 OK」,代表一切無誤。其他可能的訊息及相關的說明,請見下列表格:
狀態碼 英文說明 中文說明 2xx Success 網頁傳送完成送達之工作之狀況 200 OK; the request was fulfilled. 網頁傳送完成 201 OK; following a POST command. 網頁傳送完成,以post command 格式傳送 202 OK; accepted for processing, but processing is not completed. 網頁傳送已送達,但程序有問題,無法完整執行程序。 203 OK; partial information--the returned information is only partial. 網頁傳送已送達,但因某些因素只能回傳部分資訊。 204 OK; no response--request received but no information exists to send back. 網頁傳送已送達,但因某些因素無法回傳資訊。 3xx Redirection 建議轉址! 301 Moved--the data requested has a new location and the change is permanent. 您所要求的網址已永久遷移。 302 Found--the data requested has a different URL temporarily. 您所要求的網址暫時遷移。 303 Method--under discussion, a suggestion for the client to try another location. 您所要求的網址目前有所爭議,建議您試試別的位址 。 304 Not Modified--the document has not been modified as expected. 要傳送資料不合規定。 4xx Error seems to be in the client 用戶端疑有錯誤 400 Bad request--syntax problem in the request or it could not be satisfied. 在您request的 語法中有問題,建議您修正,否則可能無法執行。 401 Unauthorized--the client is not authorized to access data. 用戶端未經授權,無法傳接資料。 402 Payment required--indicates a charging scheme is in effect. 目前執行此處需付費 403 Forbidden--access not required even with authorization. 目前此處完全關閉(即使通過認證亦無法通行) 404 Not found--server could not find the given resource. 伺服器無法尋獲資源 5xx Error seems to be in the server 伺服器端疑有錯誤 500 Internal Error--the server could not fulfill the request because of an unexpected condition. 因不名原因,伺服器無法執行用戶端要求 501 Not implemented--the sever does not support the facility requested. 伺服器端在技術上不支援用戶端要求 502 Server overloaded--high load (or servicing) in progress. 伺服器因付載過重,目前無法執行。 503 Gateway timeout--server waited for another service that did not complete in time. 伺服器因處理其他process或等待時間過久而超出時間
JScript 程式設計與應用:用於伺服器端的 ASP 環境