(PWS4 IIS4 IIS5)
AddHeader — HTML ヘッダー name を value に設定します。
Response.AddHeader name,value
パラメータ |
|
name |
新しいヘッダー変数の名前です。 |
Value |
新しいヘッダー変数に格納される初期値です。 |
説明
AddHeader メソッドは、指定された値を持つ HTML ヘッダーを追加します。このメソッドは、常に新しい HTTP ヘッダーを応答に追加します。同じ名前の既存のヘッダーは置き換えません。いったん追加されたヘッダーは削除できません。
Response オブジェクトの別のメソッドで同じ機能が実現できる場合は、そのメソッドを使用するようにしてください。
名前があいまいになるのを避けるために、name にはアンダスコア (_) 文字を含めないでください。ServerVariables コレクションは、ヘッダー名の中のアンダスコアをダッシュ記号として解釈します。たとえば、次のスクリプトでは、サーバーは MY-HEADER という名前のヘッダーを探します。
<% Request.ServerVariables("HTTP_MY_HEADER") %>
HTTP プロトコルではコンテンツの前にヘッダーをすべて送信する必要があるため、通常、ASP スクリプトが出力を生成する前に、送信されるすべてのヘッダーを変更する必要があります。IIS 4.0 の場合は、出力 (HTML コードや Write メソッドによって生成される出力) をクライアントに送信する前にスクリプトで AddHeader を呼び出す必要があります。
ただし、IIS 5.0 の場合は、(メタベース プロパティ AspBufferingOn によって有効にされた) 応答のバッファ処理が既定でオンになっています。次に AddHeader メソッドを呼び出します。AddHeader メソッドは、Flush を呼び出す前であれば、任意の場所で呼び出すことができます。
以上のスクリプトの例を次の .asp ファイルに示します。
例1.AddHeaderの例
1 2 3 4 5 6
| <html>
Here's some text on your Web page.
<% Response.AddHeader "WARNING", "Error Message Text" %>
<% Response.Flush %>
<% Response.Write("some string") %>
</html> |
この例では、ページは既定でバッファに格納されているため、ASP ページ上のスクリプトがすべて処理されるか、または Flush メソッドが呼び出されるまで、サーバーはクライアントに出力を送信しません。出力をバッファする場合は、Flush を呼び出す前であればスクリプト内の任意の場所に AddHeader の呼び出しを記述できます。上の例で AddHeader を Flush の後で呼び出した場合は、ランタイム エラーが発生します。
この方法を使用すると、WWW-Authenticate ヘッダーなどで、同じヘッダーの複数のコピーを値を変えて送信することができます。
次の例は、AddHeader メソッドを使用して、クライアントが基本認証を使用するように要求します。
1
| <% Response.Addheader "WWW-Authenticate", "BASIC" %> |
注 上のスクリプトは、使用する認証をクライアント ブラウザに通知するだけです。Web アプリケーションでこのスクリプトを使用する場合は、Web サーバーで基本認証が有効になっていることを確認してください。
Flush、Write、Buffer も参照ください。