Asp Object 之:AddHeader
發(fā)表時間:2024-06-07 來源:明輝站整理相關軟件相關文章人氣:
[摘要]AddHeaderAddHeader 方法用指定的值添加 HTML 標題。該方法常常向響應添加新的 HTTP 標題。它并不替代現(xiàn)有的同名標題。一旦標題被添加,將不能刪除。此方法僅供高級用戶使用。若其他 Response 方法提供了您所需的功能,建議您使用該方法。語法Response.AddHead...
AddHeader
AddHeader 方法用指定的值添加 HTML 標題。該方法常常向響應添加新的 HTTP 標題。它并不替代現(xiàn)有的同名標題。一旦標題被添加,將不能刪除。
此方法僅供高級用戶使用。若其他 Response 方法提供了您所需的功能,建議您使用該方法。
語法
Response.AddHeader name, value
參數(shù)
- name
- 新的標題變量的名稱。
- value
- 存儲在新的標題變量中的初始值。
注釋
為避免命名不明確,name 中不能包含任何下劃線字符 (_)。ServerVariables 集合將標題中的下劃線字符解釋為反斜杠。例如,下面的腳本使服務器查找一個名為 MY-HEADER 的標題名。
<% Request.ServerVariables("HTTP_MY_HEADER") %>
由于 HTTP 協(xié)議要求所有的標題都必須在內容之前發(fā)送,所以您必須在任何的輸出(例如由 HTML 或 Write 方法生成的輸出)發(fā)送到客戶端之前在腳本中調用 AddHeader。但當 Buffer 屬性被設置為 TRUE 時例外。若輸出被緩沖,那么您就可以在腳本中的任何地方調用 AddHeader 方法,只要它在 Flush 之前執(zhí)行即可。否則,對 AddHeader 的調用將產生一個運行錯誤。
下面的兩個 .asp 文件對這一點進行了解釋。
-------file1.asp---------<% Response.AddHeader "WARNING", "Error Message Text" %> <HTML>Some text on the Web page.</HTML>
在前面的例子中,頁沒有緩沖。但是,因為在服務器將輸出
Some text on the Web page
發(fā)送到客戶端之前調用了 AddHeader 方法,所以腳本能正常工作。如果調換一下順序,則對 AddHeader 方法的調用將產生一個運行時錯誤。
------file2.asp----------<% Response.Buffer = TRUE %> <HTML>Here's some text on your Web page.<% Response.AddHeader "WARNING", "Error Message Text" %> Here's some more interesting and illuminating text.<% Response.Flush %> <%= Response.Write("some string") %> </HTML>
在前面的示例中,頁被緩沖了,其結果是,直到此頁上所有的 ASP 腳本執(zhí)行后或 Flush 方法被調用后,服務器才會將輸出發(fā)送到客戶端。帶緩沖的輸出中對 AddHeader 的調用可在腳本的任何地方出現(xiàn),只要在 Flush 調用之前即可。在前面的示例中,若對 AddHeader 的調用在對 Flush 的調用之后出現(xiàn),腳本將產生一個運行時錯誤。
您可以通過這一方法用不同的值發(fā)送同一標題的多份拷貝,比如用 WWW-Authenticate 標題。
示例
下面這個示例使用 AddHeader 方法要求客戶端使用 BASIC 驗證。
<% Response.Addheader "WWW-Authenticate", "BASIC" %>
注意 前面的腳本僅通知客戶端瀏覽器使用哪個驗證。若您在 Web 應用程序中使用該腳本,則一定要啟用 Web 服務器的 BASIC 驗證。
應用于
Response 對象