ビジネス・オブジェクトのデータ・キャッシュの制御
アプリケーション・リソースに機密データが含まれていない場合は、ビジネス・オブジェクト・データを安全に格納してパフォーマンスを向上させるためのキャッシュ戦略を定義できます。 キャッシュにより、サーバー上のビジネス・オブジェクトではなく、ブラウザ・キャッシュからデータを取得できるため、このデータに対する後続のリクエストが高速化されます。
データ・キャッシュ・オプション
各ビジネス・オブジェクトのキャッシュは、そのデータ・キャッシュ戦略によって制御されます。 Cache-Control HTTPヘッダーで使用されるフラグを組み合せて一般的なキャッシュ・シナリオを満たす事前定義済オプション(機密、プライベートまたはパブリック共有)を選択できます。 または、Cache-Controlフラグの組合せを使用して、カスタム・キャッシュ戦略を構築できます。
- 機密: データがどのキャッシュにも格納されないことを示します(プライベートまたはその他)。 このオプションは、銀行取引や個人を識別可能な情報など、キャッシュする必要がない機密データがビジネス・オブジェクトに含まれており、毎回最新の情報を提供する場合に選択します。
「機密」オプションは、データがキャッシュされないことを保証するno-cache、no-storeおよびmust-revalidateフラグの組合せです。 データに対してリクエストが行われると、ブラウザは常に最新のデータをサーバーに確認します。
- 公開共有: 指定した期間、クライアント・ブラウザおよびその他のキャッシュ(ISPや他のパーティからのキャッシュなど)でデータをキャッシュできることを示します。 このオプションは使用可能なすべてのポリシーの中で最もセキュアではありませんが、データが機密ではなく、国コードなど頻繁に変更される可能性が低い場合は、これを選択します。
「公開共有」オプションは、「パブリック」フラグとmax-ageフラグを組み合せたもので、最大時間にわたって任意のキャッシュにデータを格納できます。
- プライベート: 指定した期間、クライアント・ブラウザによってのみデータをキャッシュできることを示します。 データがユーザー固有である場合、たとえば、パブリック・キャッシュには格納できないがクライアント・ブラウザ・キャッシュには保持できるユーザー・オーダー履歴などに、このオプションを選択します。 ただし、クライアントへのアクセス権を持つユーザーはデータにもアクセスできることに注意してください。
「プライベート」オプションは、「プライベート」フラグとmax-ageフラグを組み合せたもので、クライアント・ブラウザでのみデータを最大時間保存できます。
- カスタム: (上級ユーザーの場合) no-cache、パブリックまたはプライベートフラグに基づいてカスタム・オプションを指定します。それぞれのフラグは、no-store、must-revalidateおよびmax-ageフラグで拡張できます。 カスタム設定は検証されません。このオプションは、Cache-Controlヘッダー・オプションに精通しており、選択内容に確信がある場合にのみ選択してください。
データ・キャッシュ戦略の定義
リソース・キャッシュ制御設定を構成して、ビジネス・オブジェクト・データを安全に格納するキャッシュ戦略を定義します。 すべてのアプリケーション・データは機密とみなされるため、デフォルトではデータはキャッシュされません。
サーバーとブラウザの間でデータをキャッシュするかどうかは、データが機密かどうか、更新頻度などのファクタによって決まります。 キャッシュ戦略を決定する前に、データを安全にキャッシュできるかどうかを確認します。 その場合は、データに対して最も意味のあるオプションを決定し、データをキャッシュできる場所と期間を指定します。 「データ・キャッシュ・オプション」を参照してください。
ビジネス・オブジェクトごとに異なるキャッシュ戦略を適用できますが、戦略はそのすべてのエンドポイントに均一に適用されることに注意してください。
ノート:
キャッシュ設定は、アプリケーションがstagedまたは公開されている場合にのみ有効になり、開発中にアプリケーションをプレビューする場合には有効になりません。