ASP中AddHeader方法的介紹
本文提供給大家一起學習分享的是關(guān)于ASP中AddHeader方法的介紹,希望對大家有幫助。
AddHeader 方法用指定的值添加 HTML 標題。該方法常常向響應(yīng)添加新的 HTTP 標題。它并不替代現(xiàn)有的同名標題。一旦標題被添加,將不能刪除。
此方法僅供高級用戶使用。若其他 Response 方法提供了您所需的功能,建議您使用該方法。
語法
Response.AddHeader name, value
參數(shù)
name
新的標題變量的名稱。
value
存儲在新的標題變量中的初始值。
注釋
為避免命名不明確,name 中不能包含任何下劃線字符 (_)。ServerVariables 集合將標題中的下劃線字符解釋為反斜杠。例如,下面的腳本使服務(wù)器查找一個名為 MY-HEADER 的標題名。
<% Request.ServerVariables("HTTP_MY_HEADER") %>
由于 HTTP 協(xié)議要求所有的標題都必須在內(nèi)容之前發(fā)送,所以您必須在任何的輸出(例如由 HTML 或 Write 方法生成的輸出)發(fā)送到客戶端之前在腳本中調(diào)用 AddHeader。但當 Buffer 屬性被設(shè)置為 TRUE 時例外。若輸出被緩沖,那么您就可以在腳本中的任何地方調(diào)用 AddHeader 方法,只要它在 Flush 之前執(zhí)行即可。否則,對 AddHeader 的調(diào)用將產(chǎn)生一個運行錯誤。
下面的兩個 .asp 文件對這一點進行了解釋。
-------file1.asp---------
<% Response.AddHeader "WARNING", "Error Message Text" %>
<HTML>
Some text on the Web page.
</HTML>
在前面的例子中,頁沒有緩沖。但是,因為在服務(wù)器將輸出
Some text on the Web page
發(fā)送到客戶端之前調(diào)用了 AddHeader 方法,所以腳本能正常工作。如果調(diào)換一下順序,則對 AddHeader 方法的調(diào)用將產(chǎn)生一個運行時錯誤。
------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>
在前面的示例中,頁被緩沖了,其結(jié)果是,直到此頁上所有的 ASP 腳本執(zhí)行后或 Flush 方法被調(diào)用后,服務(wù)器才會將輸出發(fā)送到客戶端。帶緩沖的輸出中對 AddHeader 的調(diào)用可在腳本的任何地方出現(xiàn),只要在 Flush 調(diào)用之前即可。在前面的示例中,若對 AddHeader 的調(diào)用在對 Flush 的調(diào)用之后出現(xiàn),腳本將產(chǎn)生一個運行時錯誤。
您可以通過這一方法用不同的值發(fā)送同一標題的多份拷貝,比如用 WWW-Authenticate 標題。
示例
下面這個示例使用 AddHeader 方法要求客戶端使用 BASIC 驗證。
<% Response.Addheader "WWW-Authenticate", "BASIC" %>
注意 前面的腳本僅通知客戶端瀏覽器使用哪個驗證。若您在 Web 應(yīng)用程序中使用該腳本,則一定要啟用 Web 服務(wù)器的 BASIC 驗證。
應(yīng)用于Response 對象