Edge Side Include のキャッシングの構成
Web サーバーのプラグインには、ESI プロセッサーが組み込まれています。ESI プロセッサーは、非常に高いキャッシュ・ヒット率で、 ページの一部分だけでなく、ページ全体をキャッシュに入れることができます。 ESI プロセッサーが実装するキャッシュは、 ディスク・キャッシュではなくメモリー内キャッシュです。そのため、Web サーバーを再始動する場合には、キャッシュ・エントリーは保管されません。
このタスクについて
Edge Side Include (ESI) は、plugin-cfg.xml ファイルを使用して構成します。
Web サーバーのプラグインが要求を受信した際、ESI プロセッサーが使用不可でない限り、その要求が ESI プロセッサーに送信されます。 これは、デフォルトでは無効になっています。キャッシュ・ミスが発生した場合、 Surrogate-Capability ヘッダーが要求に追加され、その要求が WebSphere® Application Server に転送されます。 アプリケーション・サーバーにおいて、サーブレット・キャッシングが使用可能となっており、 かつ応答がエッジ・キャッシュ可能である場合、 アプリケーション・サーバーは WebSphere Application Server プラグインへの応答として Surrogate-Control ヘッダーを戻します。
Surrogate-Control 応答ヘッダーの値にはルールのリストがあり、 ESI プロセッサーはこれを使用して、キャッシュ ID を生成します。 そしてキャッシュ ID をキーとして使用して、 ESI キャッシュ内に応答を保管します。 応答の本体にある ESI インクルード・タグごとに新規要求が処理され、 ネストされているインクルードはそれぞれキャッシュ・ヒットで見つかるか、 または別の要求としてアプリケーション・サーバーに転送されます。 ネストされたインクルードがすべて処理された場合、 そのページはアセンブルされてクライアントに戻されます。
<?xml version-"1.0"?>
<Config>
<Property Name="esiEnable" Value="false"/>
<Property Name="esiMaxCacheSize" Value="1024"/>
<Property Name="esiInvalidationMonitor" Value="false"/>