ここでは、DuraSite-Edgeにおける、キャッシュ対象コンテンツと対象外コンテンツを分ける基本的なルールについて説明します
機能概要 #
【キャッシュ対象】 #
デフォルトのキャッシュ対象: DuraSite-Edgeは、特定のファイル拡張子やコンテントタイプ(MIMEタイプ)に限定せず、オリジンサーバーから配信される 原則すべてのコンテンツをキャッシュの対象候補 とします。ただし、キャッシュ処理は通常、GETおよびHEADメソッドのリクエストに対してのみ行われます。
【キャッシュ対象外】 #
以下のいずれかの条件に合致する場合、コンテンツは デフォルトでキャッシュ対象外 となります。これは、キャッシュすべきでないコンテンツを誤ってキャッシュしないための基本的な保護ルールです。
- オリジンサーバーのレスポンスヘッダに、以下のいずれかの
Cache-Control
ディレクティブが含まれる場合:Cache-Control: private
(特定ユーザー向け)Cache-Control: no-cache
(キャッシュする前に再検証が必要)Cache-Control: no-store
(一切キャッシュしない)Cache-Control: max-age=0
(キャッシュするが即座に期限切れ扱い)
- DuraSite-EdgeへのリクエストのHTTPメソッドが
GET
またはHEAD
以外の場合:- 例:
POST
,PUT
,DELETE
など、リソースの状態を変更する可能性のあるリクエストへのレスポンスはキャッシュされません。
- 例:
- オリジンサーバーのレスポンスのHTTPステータスコードが
200 OK
,206 Partial Content
,301 Moved Permanently
のいずれでもない場合:- 例:
302 Found
,404 Not Found
,503 Service Unavailable
などのリダイレクトやエラーを示すレスポンスは、通常キャッシュされません。
- 例:
- オリジンサーバーのレスポンスヘッダに
Set-Cookie
が含まれる場合:- ユーザー固有のセッション情報などを含む可能性があり、他のユーザーと共有するキャッシュには適さないため、原則キャッシュされません。
- 対象のコンテンツがBasic認証またはDigest認証によって保護されている場合:
- 認証が必要なリソースは、ユーザーごとにアクセス可否が異なるためキャッシュされません。
設定方法 #
上記のデフォルト動作は基本的なものですが、お客様のWebサイトの特性や配信要件に合わせて、キャッシュ設定をカスタマイズすることが可能です。
- キャッシュルールのカスタマイズ (DuraSite-Edge側):
- 上記のデフォルト動作は基本的なものですが、お客様のWebサイトの特性や配信要件に合わせて、弊社にてキャッシュ設定をカスタマイズすることが可能です。
- オリジンサーバー側でのヘッダ制御:
- オリジンサーバーのアプリケーションやWebサーバー側で、HTTPレスポンスヘッダ(特に
Cache-Control
,Expires
,Pragma
など)を適切に出力することも、キャッシュ動作を制御する上で重要です。DuraSite-Edgeはこれらのヘッダを尊重します(ただし、DuraSite-Edge側のルール設定で上書きされる場合もあります)。
- オリジンサーバーのアプリケーションやWebサーバー側で、HTTPレスポンスヘッダ(特に
- 高度なケースの相談:
- デフォルトでキャッシュ対象外となる複雑な要件下でキャッシュを有効にしたい場合(技術的な実現可否の確認が必要な場合など)は、弊社担当営業までご相談ください。
主なユースケース #
これらのキャッシュ対象ルールや設定を理解・活用することで、以下のようなメリットや目的を達成できます。
- 動的・個人向けコンテンツの保護: ユーザー固有の情報が表示されるページ(例: マイページ)や、フォーム送信(POST)の結果ページなどが、デフォルトでキャッシュされないため、情報漏洩や誤表示のリスクを低減します。
- コンテンツ鮮度の維持とオリジン負荷軽減の両立: オリジンサーバー側で適切な
Cache-Control
ヘッダ(例:max-age=600
で10分間キャッシュ)を設定することで、頻繁に更新されるコンテンツでも、一定期間はキャッシュを利用してオリジンサーバーの負荷を減らしつつ、古すぎる情報が表示されるのを防ぎます。 - 静的コンテンツ配信の高速化: 画像、CSS、JavaScriptなどの静的ファイルは、変更頻度が低くアクセス頻度が高いため、一度キャッシュされればDuraSite-Edgeから高速に応答でき、Webサイト全体の表示速度向上に貢献します。
- 特定のコンテンツのキャッシュ強制によるパフォーマンス改善: アクセス頻度が高いにも関わらず、技術的な理由(例: 不要な
Set-Cookie
付与)でデフォルトではキャッシュされないコンテンツがある場合、キャッシュルールで強制的にキャッシュさせることで、オリジンサーバーの負荷を劇的に削減し、ユーザーへの応答速度を改善できる場合があります。