CacheControl

CacheControl プロパティにより、Response 内の HTTP/1.1 Cache-Control ヘッダーを設定できます。
構文

Response.CacheControl [= Cache Control Header ]

 

パラメータ
Cache Control Header

次に示す一覧は、HTTP/1.1 プロトコルでサポートされる値の一部です。詳細については、World Wide Web Consortium Web サイト の「Hypertext Transfer Protocol -- HTTP/1.1」仕様についてのセクション 14.9 を参照してください。

説明
Private
このページはプライベート キャッシュにキャッシュされ、単一のクライアントにのみ再送信されます。これは既定値です。プロキシ サーバーがこの設定でページをキャッシュすることはほとんどありません。
Public
プロキシ サーバーなどの共有キャッシュは、この設定のときにページをキャッシュします。キャッシュされたページは、任意のユーザーに送信されます。
No-cache
このページにはキャッシュが適用されません。同一クライアントが使用する場合でも同様です。
No-store
この応答および要求は、共有かプライベートかを問わず、キャッシュには保存されません。ここで対象となる記憶域は、テープ バックアップなど、不揮発性の記憶域です。セキュリティ対策としての信頼性は保証されません。

Web サーバーとそのページを要求するユーザーの間には、応答時間を短縮するために Web ページをキャッシュするにように構成されたプロキシ サーバーが存在することもあります。通常、ASP ページは、各ユーザーに対して一意となるように作成されるか、またはセキュリティ情報を含むことがあります。 このため、IIS では CacheControl プロパティを "Private" に設定し、プロキシ サーバーやほかのキャッシュ メカニズムによってページがキャッシュされないようにします。 この既定値は、HTTP/1.1 プロトコルでサポートされる値によって上書きすることができます。HTTP/1.1 プロトコルは、World Wide Web Consortium Web サイト の「Hypertext Transfer Protocol -- HTTP/1.1」仕様に定められています。

Web サーバーとクライアント コンピュータの間にキャッシュ メカニズムが存在しないか、プロキシ サーバーで HTTP/1.0 が実行されている場合、CacheControl は無視されます。

CacheControl を "public" に設定することで、.asp ファイルのパフォーマンスが改善されるように思われるかもしれません。しかし、各要求に対してカスタム HTML を生成した場合でも、プロキシ サーバーがその応答に介入するため、この設定はお勧めしません。

CacheControl は文字列の値であるため、二重引用符 (" ") で囲む必要があります。応答のバッファ処理が有効になっている場合を除き、クライアントに応答を送信する前に CacheControl を設定する必要があります。

CacheControl は <HTML> タグの前に記述し、コンテンツがクライアントに送信される前に設定されるようにします。

--- CacheControl_NoBuffer.asp ---

<%
  Response.Buffer = False
  Response.CacheControl = "private"
%>
<HTML><HEAD><TITLE>Response.CacheControl Example</TITLE></HEAD>
<BODY>
Output from this page is sent to the client as it is being processed.<BR>
It will not be cached.<BR>
Today is <%= Date %>, <%= Time %><BR>
<H3>Please enter your credit card number:</H3>
<FORM NAME="Order" METHOD="POST" ACTION="order.asp ">
<INPUT TYPE="TEXT" NAME="CreditCard">
<INPUT TYPE="SUBMIT" VALUE="Submit" NAME="Submit">
</FORM>
</BODY>
</HTML>

--- CacheControl_Buffer.asp ---

<% Response.Buffer = True %>
<HTML><HEAD><TITLE>Response.CacheControl Example</TITLE></HEAD>
<BODY>
Output from this page is sent to the client once it is completely processed by the server, so we can set CacheControl anytime.<BR>
<% Response.CacheControl = "private" %>
It will not be cached.<BR>
Today is <%= Date %>, <%= Time %><BR>
<H3>Please enter your credit card number:</H3>
<FORM NAME="Order" METHOD="POST" ACTION="order.asp ">
<INPUT TYPE="TEXT" NAME="CreditCard">
<INPUT TYPE="SUBMIT" VALUE="Submit" NAME="Submit">
</FORM>
</BODY>

</HTML>

  
対象

Response オブジェクト


© 1997-2001 Microsoft Corporation.All rights reserved.