この図は、2番目のリクエストでの検証キャッシング方式を示しています。詳細は次のとおりです。

  1. mod_plsqlは、リクエストに対してキャッシュされたコンテンツがあることを検出します。

  2. mod_plsqlは、(最初のリクエストからの)同じタグおよびキャッシング・レベル情報をCGI環境変数の一部としてPL/SQLプロシージャに転送します。

  3. PL/SQLプロシージャは、これらのキャッシングCGI環境変数を使用して、コンテンツが変更されているかどうかを確認します。そのために、PL/SQL Web Toolkitの次のowa_cacheファンクションをコールします。

    owa_cache.get_etag;owa_cache.get_level;

    これらのowaファンクションが、タグおよびキャッシング・レベルを取得します。

  4. Webアプリケーションは、このキャッシング情報をmod_plsqlに送信します。

  5. この情報に基づいて、コンテンツを再生成する必要があるか、またはキャッシュから取得できるかを判別します。

    1. コンテンツが同じである場合は、プロシージャはowa_cache.set_not_modifiedプロシージャをコールし、コンテンツを生成しません。このため、mod_plsqlではキャッシュされたコンテンツを使用します。このキャッシュされたコンテンツは、ブラウザに直接返されます。

    2. コンテンツが変更されている場合は、新しいコンテンツを新しいタグおよびキャッシング・レベルとともに生成します。mod_plsqlは古いキャッシュのコピーを新しいものに置き換え、タグおよびキャッシング・レベル情報を更新します。新しく生成されたコンテンツが、ブラウザに返されます。