Expires

(PWS4 IIS4 IIS5)
Expires — ブラウザ上にキャッシュされるページの有効期限が切れるまでの時間を指定します。

Request.Expires[= number]
number:ページの有効期限が切れるまでの分数です。

説明

Expires プロパティは、ブラウザにキャッシュされているページの有効期限が切れるまでの時間を指定します。有効期限が切れる前にユーザーが同じページに戻ってきた場合は、キャッシュされているページが表示されます。

例1.Expiresの例

.asp ファイルが Response.Expires を呼び出すと、IIS は サーバー時間を示す HTTP ヘッダーを作成します。クライアントまたはサーバーのいずれかの時間設定が正しくないか、またはタイムゾーンが異なるなどの理由で、クライアントのシステム時間がサーバーのシステム時間よりも進んでいる場合、パラメータを 0 に設定してもページの有効期限が直ちに切れることはありません。Response.ExpiresAbsolute プロパティを使用すると、ページの有効期限がすぐに切れるようにすることができます。あるいは、Expires プロパティに負の数を使用することもできます。たとえば、次のように指定したとします。

1
<%Response.Expires = -1 %>

この場合、Response オブジェクトの有効期限はすぐに切れます。
同じページ内で Response.Expires を複数回呼び出している場合は、サーバーは有効期限が最も早く切れる設定を適用します。

ExpiresAbsolute も参照ください。


Domain

(PWS4 IIS4 IIS5)
Domain — クッキーの送信ドメインを指定

Responset.Cookies( cookie )[( key ).Domain
cookie:クッキー名
Key:クッキーのサブキー

説明

書き込み専用です。指定した場合、cookie はこのドメインへの要求のみに送られます。

例1.Domainの例

指定されたドメインに対してのみ、クライアントマシンのクッキーの値を送信します。

1
<% Response.Cookies("Cookies").Domain = "TEST" %>

Cookiesコレクション も参照ください。


ContentTyep

(PWS4 IIS4 IIS5)
ContentTyep — 応答の HTTP コンテンツ タイプを指定します。

Response.ContentTyep[= ContentType]
ContentType:コンテンツ タイプを説明する文字列です。通常、この文字列は type/subtype という形式で指定されます。type はコンテンツの一般的なコンテンツ カテゴリ、subtype は具体的なコンテンツ タイプです。サポートされているコンテンツタイプの一覧については、Web ブラウザのマニュアル、または現在の HTTP 仕様書を参照してください。

説明

ContentType プロパティは、応答の HTTP コンテンツ タイプを指定します。ContentType を指定しない場合は、既定値の text/HTML になります。

例1.ContentTyepの例

次の例は、コンテンツ タイプを、チャンネル定義形式 (CDF) に設定します。

1
<% Response.ContentType = "application/x-cdf" %>

次の例は、ContentType プロパティにその他の一般的な値を設定します。

1
2
3
4
5
<% Response.ContentType = "text/HTML" %>
<% Response.ContentType = "image/GIF" %>
<% Response.ContentType = "image/JPEG" %>
<% Response.ContentType = "text/plain" %>
<% Response.ContentType = "image/JPEG" %>

Charset

(PWS4 IIS4 IIS5)
Charset — 文字セット名を Content-Type ヘッダーに追加します。

Response.Charset( CharsetName )
CharsetName:ページの文字セットを指定する文字列です。文字セット名は Response オブジェクトの Content-Type ヘッダーに追加されます。
説明

Charset プロパティは、Response オブジェクトの Content-Type ヘッダーに文字セット名 (ISO-LATIN-7 など) を追加します。

例1.Charsetの例

Response.Charset プロパティが指定されていない ASP ページの Content-Type ヘッダーは、次のようになります。

content-type:text/html

同じ .asp ファイルで、次のように指定されているとします。

1
<% Response.Charset= "ISO-LATIN-7" %>

この場合、Content-Type ヘッダーは次のようになります。

content-type:text/html; charset=ISO-LATIN-7

このプロパティは、指定した文字列が有効な文字セットを表すかどうかにかかわらず、任意の文字列をヘッダーに挿入します。
Response.Charset を含むタグが同じページに複数存在する場合、各 Response.Charset は直前の CharsetName を置換します。結果として、文字セットは、ページの一番最後の Response.Charset で指定した値で設定されます。
Macintosh のコンピュータでは、既定の U.S. 文字セットは ISO-LATIN-1 ではありません。ドキュメントを提供するときは、パーソナル Web サーバー for Macintosh が Macintosh の文字セットを ISO-LATIN-1 に自動的に変換します。Response.Charset が使用されていない場合、U.S. 版では、すべてのページの文字セットは U.S. Macintosh 文字セットであると見なされます。Response.Charset を使用して文字セットを変更する場合は、パーソナル Web サーバー for Macintosh による文字セットの変換は行われません。


CacheControl

(PWS4 IIS4 IIS5)
CacheControl — プロキシ サーバーが ASP の出力をキャッシュできるかどうかを示します。

Response.CacheControl[= Cache Control Header]
Cache Control Header:Public または Private のいずれかの値をとるキャッシュ制御ヘッダーです。

説明
Private プライベート キャッシュだけがこのページをキャッシュすることができます。これは既定値です。プロキシ サーバーがこの設定でページをキャッシュすることはほとんどありません。
Public プロキシ サーバーなどのパブリック キャッシュは、この設定のときにページをキャッシュします。

説明

CacheControl プロパティは、既定値の Private を上書きします。このプロパティを Public に設定すると、プロキシ サーバーは ASP が生成した出力をキャッシュすることができます。

CacheControl を Public に設定すると、.asp ファイルのパフォーマンスが向上することがあります。.asp ファイルが要求ごとにカスタム HTML を生成する場合は、CacheControl を Public に設定しても、パフォーマンスは変化しません。Private および Public は文字列の値であるため、引用符 (” “) で囲む必要があります。


Buffer

(PWS4 IIS4 IIS5)
Buffer — ページ出力をバッファに格納するかどうかを示します。

Response.Buffer[= flag]
flag:ページ出力をバッファに格納するかどうかを指定します。次のいずれかの値を指定できます。

説明
FALSE バッファに格納しません。サーバーは出力を処理と同時にクライアントに送信します。IIS Version 4.0 以前では、これが既定値です。IIS Version 5.0 以降では、既定値は TRUE です。
TRUE サーバーは、現在のページの ASP スクリプトの処理がすべて完了するまで、あるいは Flush メソッドまたは End メソッドが呼び出されるまで、クライアントに出力を送信しません。

説明

Buffer プロパティは、ページ出力をバッファに格納するかどうかを示します。ページ出力がバッファに格納されると、サーバーは現在のページのサーバースクリプトの処理がすべて完了するまで、あるいは Flush メソッドまたは End メソッドが呼び出されるまで、クライアントに応答を送信しません。
Buffer プロパティは、サーバーがクライアントに出力を送信した後で設定することはできません。このため、Response.Buffer の呼び出しは、.asp ファイルの先頭行に記述してください。

現在の .asp ファイルのバッファ処理が TRUE に設定されている場合、Flush メソッドを呼び出さなければ、サーバーはクライアントからのキープアライブ要求を優先します。これにより、サーバーはクライアント要求ごとに新しい接続を作成する必要がなくなるため、動作が速くなります。
ただし、バッファ処理を行うと、サーバーが現在のページのスクリプト処理をすべて完了するまで、クライアントに応答が表示されなくなります。このため、長いスクリプトでは処理の遅れが目立つことがあります。
メタベース内の ASPBufferingOn プロパティを使用すると、スクリプトのバッファ処理の既定値を設定できます。メタベースの使い方の詳細については、「IIS Admin オブジェクトを使用する」を参照してください。

Flush、End も参照ください。


Cookies

(PWS4 IIS4 IIS5)
Cookies — このコレクションを使用して cookie の値を設定できます。

Response.Cookies( cookie )[( key )|.attribute] = value
cookie:cookie の名前です。
Key:省略可能なパラメータです。key を指定した場合、cookie は辞書とみなされ、key には value が設定されます。
attribute:cookie に関する情報を指定します。次のいずれかを属性パラメータに指定できます。

* Domain
* Expires
* HasKeys
* Path
* Secure

Value:key または attribute に割り当てる値を指定します。

説明

Cookies コレクションは cookie の値を設定します。指定された cookie が存在しない場合は、新しい cookie が作成されます。cookie が存在する場合は、新しい値を受け取り、古い値を破棄します。

例1.Cookiesの例

次のスクリプトのように、キーを付けて cookie を作成したとします。

1
2
3
4
<%
  Response.Cookies("mycookie")("type1") = "sugar"
  Response.Cookies("mycookie")("type2") = "ginger snap"
%>

すると、次のヘッダーが送信されます。

Set-Cookie:MYCOOKIE=TYPE1=sugar&TYPE2=ginger+snap

この後、キーを指定せずに myCookie への割り当てを行うと、type1 および type2 は破棄されます。この例を次に示します。

1
<% Response.Cookies("myCookie") = "chocolate chip" %>

この例で、type1 と type2 のキーおよびその値は破棄され、myCookie という cookie の値は chocolate chip になります。
逆に、キーを付けて cookie を呼び出すと、cookie に含まれているキー以外の値が破棄されます。たとえば、上のコードの後で次のように Response.Cookies を呼び出します。

1
<% Response.Cookies("myCookie")("newType") = "peanut butter" %>

すると、値 chocolate chip は破棄され、newType に peanut butter が設定されます。
cookie がキーを持っているかどうかを調べるには、次の構文を使います。

1
<%= Response.Cookies("myCookie").HasKeys %>

myCookie が cookie 辞書であれば前の値は TRUE に評価され、そうでなければ FALSE に評価されます。
ループを使用すると cookie の属性を設定できます。たとえば、すべての cookie の有効期限が特定の日付に切れるように設定するには、次の構文を使います。

1
2
3
4
5
<%
  For Each cookie in Response.Cookies
    Response.Cookies("cookie").Expires = #July 4, 1997#
  Next
%>

また、ループを使って、コレクション内のすべての cookie の値や、cookie 内のすべてのキーを設定することもできます。ただし、キーを持っていない cookie に対してはループが実行されません。これを防ぐには、.HasKeys の構文を使用して cookie がキーを持っているかどうかを先にチェックしておきます。以上の例を次に示します。

1
2
3
4
5
6
7
8
9
10
11
<%
  If Not Response.Cookies("cookie").HasKeys Then
    'Set the value of the cookie.
    Response.Cookies("cookie") = ""
  Else
    'Set the value for each key in the cookie collection.
    For Each key in Response.Cookies("cookie")
      Response.Cookies("cookie")(key) = ""
    Next
  End If
%>

Cookiesコネクション,HasKeys も参照ください。


Responseオブジェクト

Response オブジェクトは、クライアントに出力を送信します。

* Cookies
* Buffer
* CacheControl
* Charset
* ContentTyep
* Domain
* Expires
* ExpiresAbsolute
* HasKeys
* IsClientConnected
* Path
* PICS
* Secure
* Status
* AddHeader
* AppendToLog
* BinaryWrite
* Clear
* End
* Flush
* Redirect
* Write


BinaryRead

(PWS4 IIS4 IIS5)
BinaryRead — POST 要求の一部としてクライアントからサーバーに送信されたデータを取得します。

variant = Request.BinaryRead( count )
variant:このメソッドが返す符合なしバイトの配列を含みます。このパラメータの型は、VT_ARRAY | VT_UI1 になります。これは、符号なし 1 バイト文字の可変配列です。
count:メソッドを実行する前に、クライアントから読み取るバイト数を指定します。メソッドを実行した後の count には、クライアントから正常に読み取ったバイト数が設定されます。実際にクライアントから読み取られるバイト数の合計は、 Request.TotalBytes と等しいか、またはこれより少なくなります。

説明

BinaryRead メソッドは、POST 要求の一部としてクライアントからサーバーに送信されたデータを取得します。このメソッドは、クライアントからデータを取得し、取得したデータをセーフ配列に格納します。セーフ配列は、次元の数と各次元の上限および下限に関する情報を含む配列です。

BinaryRead メソッドは、POST 要求の一部としてクライアントから送信された生のデータを読み取るときに使用します。BinaryRead メソッドは、データへの下位レベルのアクセスを行うときに使用するメソッドであり、Request.Form コレクションを使用して POST 要求で送信されたフォーム データを表示する場合などとは使用目的が異なります。BinaryRead を呼び出した後で Request.Form コレクション内のいずれかの変数を参照すると、エラーが発生します。同様に、Request.Form コレクション内の変数を参照した後で BinaryWrite を呼び出すと、エラーが発生します。このため、変数がどのサブコレクションに属しているかを指定せずに Request コレクション内の変数にアクセスする場合は注意が必要です。Request.Form コレクションが検索の対象になると、エラーが発生するからです。

例1.BinaryReadの例

次の例は、BinaryRead メソッドを使用して、要求の内容をセーフ配列に格納します。

1
2
3
4
5
6
<%
  Dim vntPostedData, lngCount

  lngCount = Request.TotalBytes
  vntPostedData = Request.BinaryRead(lngCount)
%>

TotalBytes、ClientCertificate、Cookies、Form、QueryString、ServerVariables も参照ください。


HasKeys

(PWS4 IIS4 IIS5)
HasKeys — 読み取り専用です。cookie にキーが含まれているかどうかを指定します。

Request.Cookies( cookie )[( key )|.HasKeys]
cookie:値を取得する cookie を指定します。
Key:cookie 辞書からサブキーの値を取得するために使用する省略可能なパラメータです。
説明

cookie が cookie 辞書であるかどうか (cookie がキーを持っているかどうか) を調べます。

1
<%= Request.Cookies("myCookie").HasKeys %>

myCookie が cookie 辞書であれば、上のスクリプトの値は TRUE に評価され、そうでなければ FALSE に評価されます。

Cookiesコネクション も参照ください。