Response.CacheControl [= Cache Control Header ]
次に示す一覧は、HTTP/1.1 プロトコルでサポートされる値の一部です。詳細については、World Wide Web Consortium Web サイト の「Hypertext Transfer Protocol -- HTTP/1.1」仕様についてのセクション 14.9 を参照してください。
値 | 説明 |
|
|
|
|
|
|
|
|
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 オブジェクト