キャッシュの使用によるパフォーマンスの向上
コンテンツ・アイテム、デジタル・アセットおよびサイトの配信では、ビジターのブラウザ・キャッシュを完全に活用し、ブラウザでのコンテンツ配信とレンダリングのパフォーマンスを改善する必要があります。
サイト、テーマ、コンテンツ・アイテムおよびデジタル・アセットは、ビジターのブラウザ・キャッシュ内に一定時間キャッシュされます。 サイト、テーマ、コンテンツ・アイテムまたはデジタル・アセットが更新された後、URL内のキャッシュバスター・キーが変更され、ブラウザが異なるURLをフェッチし、新しいアイテムを取得しなくてはならないようになります。
キャッシュ・キーは、現在のソースのみを参照することによってブラウザ・キャッシュの使用を管理する上で役に立ちます。 キャッシュ・キーはURLに含まれていますが、たいていの場合、物理的な場所(フォルダ)ではなく、論理要素です。 キャッシュ・キーの変更が、リソースを検索するために異なる物理的な場所を指し示すことはありません。この変更は単に、リソースの現在のバージョンをフェッチするようサーバーに通知します。
リソースには、CSSファイル、JSファイルおよびイメージ・ファイルなどの静的なもの、またはページ・データ、サイト・データおよびコンテンツ・アイテム・データなどの動的なものがあります。 Webサイトを構築するためのリソースには5つのカテゴリがあります:
-
製品リソース - 製品の新規バージョンがリソースまたはパッチ適用されるたびに更新される製品の一部であるリソース。
-
サイト・リソース -
structure.json
、ページ・データ、イメージなど、サイトの一部であるリソース。 これらは、サイトが公開されるときに更新されます。 コントローラについては、後に続く本文を参照してください。 -
テーマ・リソース - レイアウト、CSSおよびイメージなど、テーマの一部であるリソース。 これらは、テーマが公開されるときに更新されます。
-
コンポーネント・リソース - カスタム・コンポーネントの一部であるリソース。 これらには、コンポーネントを構成するHTMLファイル、JSファイル、CSSファイルおよびイメージ・ファイルが含まれます。 これらは、コンポーネントが公開されるときに更新されます。 1つのコンポーネントが変更されて再公開される場合、すべてのコンポーネントのキャッシュ・キーが変更されますが、これは、キャッシュ・キーがすべてのコンポーネントの単一キーであるからです。
-
CaaSリソース - コンテンツ・アイテムおよびデジタル・アイテムを提供するリソース。 これらは、コンテンツ・アイテムが公開または再公開される場合、またはコレクション・ターゲットが変更されるときに更新されます。
次のトピックでは、Oracle Content Managementランタイムおよびサイト・ビルダーのキャッシュについて説明します:
ランタイム・キャッシュ
ランタイムの場合、Oracle Content Management Cache-Controlヘッダーは15日に設定されます。 すべてのリソースについてURLにキャッシュ・キーが追加されます。
URLが同じである限り、ブラウザでは、ローカル・キャッシュ(使用可能である場合)内のリソースを提供します。 リソースが更新されると、URL内のキャッシュ・キーが更新され、その結果、ブラウザは、サーバーに対する新しいリクエストを行い、ローカル・キャッシュを更新するよう強制されます。
キャッシュ・キーが含まれるコントローラも1分間キャッシュされます。 このため、更新されたキャッシュ・キーが最大1分間表示されなくなります。
実行時に、サーバーは、製品、サイト、テーマ、コンポーネント、およびCaaSリソースの最新のキャッシュ・キーを含むcontroller.html
を返します。 controller.html
にキー付きスクリプトが追加されました。例えば:
<script type="text/javascript">
var SCSCacheKeys = {
product: '123',
site: '456',
theme: '789',
component: '012',
caas: '345'
};
</script>
これらのキーは、controller.js
によって、次の表のようなURLを作成するために使用されます。
リソース・タイプ | 例 |
---|---|
製品リソース |
|
テーマ・リソース |
|
コンポーネント・リソース |
|
サイト・リソース |
|
CaaSリソース |
|
このようなURLにキャッシュ・キーを挿入することで、Oracle Content Managementは、ブラウザが実際に新しいリソースであると認識するようにURLを効果的に変更することで、更新されたリソースをブラウザに強制的にロードできます。
ノート:
セキュアなサイトの場合、製品、テーマおよびコンポーネント・リソースのみがキャッシュされ、サイトまたはCaaSコンテンツはキャッシュされません。