Cisco 4700 シリーズ Application Control Engine Appliance アプリケーション アクセラレーションおよび最適化 コンフィギュレーション ガイド Software Version A1(7)
最適化HTTP パラメータ マップ の設定
最適化HTTP パラメータ マップの設定
発行日;2012/02/06 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 3MB) | フィードバック

目次

最適化HTTP パラメータ マップの設定

最適化 HTTP パラメータ マップのコンフィギュレーション クイック スタート

最適化 HTTP パラメータ マップの作成

AppScope パフォーマンス レート パラメータの設定

AppScope レポート用に要求をソートするストリングの定義

ベース ファイルの匿名性レベルの指定

ベース ファイルのリベース制御

カノニカル URL 正規表現

スタティックおよびアダプティブ キャッシュ パラメータ

キャッシュ キーの変更

キャッシュ キーのカノニカル URL 部分の変更

キャッシュ キーに含まれる URL のクエリー パラメータ部分の変更

時間に基づいたキャッシュ オブジェクト有効期限の設定

負荷に基づいたキャッシュ オブジェクト有効期限の指定

キャッシュ要求または応答ヘッダーの上書き

凝縮型コンテンツ ページのデフォルト スクリプト言語の指定

デルタ最適化動作パラメータの指定

デルタ最適化に関するキャッシュ可能コンテンツおよびオブジェクトの設定

デルタ最適化モードの指定

クライアント ブラウザにおけるオブジェクト鮮度維持期間の指定

ドキュメントからのメタ要素の削除

FlashConnect 限度の指定

FlashForwared のバイパス

無視する HTTP 応答コードの特定

画像最適化の設定

トランザクション ログ エントリのパラメータ サマリー値の設定

HTTP POST データの最大サイズの設定

サーバ ヘッダー ストリングの指定

非 HTML ファイルの URL マッピングを可能にする方法

UTF-8 文字表示の制御

XSLT の設定

XSLT マージ デバッグのイネーブル化

完全修飾 XSLT スタイルシートのパス指定

次の作業

最適化HTTP パラメータ マップの設定

この章では、Cisco 4700 Series Application Control Engine(ACE)アプライアンス上で、関連付けられたアクション リストでの選択に基づいて、複数の最適化テクノロジーを調整または制御する、パラメータの設定方法について説明します。最適化 HTTP ポリシー マップで任意の最適化 HTTP パラメータ リストを指定すると、アクション リストとパラメータ マップ間の関連を特定できます。最適化 HTTP アクション リストでは何を行うかを定義するのに対して、最適化 HTTP パラメータ マップではアクションの実行方法について、具体的な詳細を定義します。

この章の主な内容は、次のとおりです。

最適化 HTTP パラメータ マップのコンフィギュレーション クイック スタート

最適化 HTTP パラメータ マップの作成

AppScope パフォーマンス レート パラメータの設定

ベース ファイルの匿名性レベルの指定

ベース ファイルのリベース制御

カノニカル URL 正規表現

スタティックおよびアダプティブ キャッシュ パラメータ

凝縮型コンテンツ ページのデフォルト スクリプト言語の指定

デルタ最適化動作パラメータの指定

クライアント ブラウザにおけるオブジェクト鮮度維持期間の指定

ドキュメントからのメタ要素の削除

FlashConnect 限度の指定

FlashForwared のバイパス

無視する HTTP 応答コードの特定

画像最適化の設定

トランザクション ログ エントリのパラメータ サマリー値の設定

HTTP POST データの最大サイズの設定

サーバ ヘッダー ストリングの指定

非 HTML ファイルの URL マッピングを可能にする方法

UTF-8 文字表示の制御

XSLT の設定

次の作業

最適化 HTTP パラメータ マップのコンフィギュレーション クイック スタート

表3-1 に、アプリケーション アクセラレーションおよび最適化パラメータ マップの設定に必要なステップの概要を示します。ステップごとに、CLI コマンドまたは作業に必要な手順の参照を示します。各機能および CLI コマンドに関連する全オプションの詳細については、 表3-1 の後ろの各セクションを参照してください。

 

表3-1 最適化 HTTP パラメータ マップのコンフィギュレーション クイック スタート

作業およびコマンドの例

1. 複数のコンテキストで動作している場合は、CLI プロンプトで意図するコンテキストで動作しているかどうかを確認してください。必要に応じて、正しいコンテキストに変更してください。

host1/Admin# changeto C1
host1/C1#
 

この表では以後、特に指定しないかぎり、管理コンテキストを使用します。コンテキスト作成の詳細については、『 Cisco 4700 Series Application Control Engine Appliance Administration Guide 』を参照してください。

2. グローバル コンフィギュレーション モードを開始します。

host1/Admin# config
host1/Admin(config)#

3. 最適化 HTTP パラメータ マップを作成します。

host1/Admin(config)# parameter-map type optimization http OPTIMIZE_PARAM_MAP
host1/Admin(config-parammap-optmz)#

4. 必要に応じて、パラメータ マップでアプリケーション アクセラレーションおよび最適化パラメータを設定します。入力例を示します。

host1/Admin(config-parammap-optmz)# canonical-url $(1)/$http_query_param(category)
host1/Admin(config-parammap-optmz)# cache key-modifier http://www$(1)
host1/Admin(config-parammap-optmz)# cache parameter $http_query_param(version)
host1/Admin(config-parammap-optmz)# delta all-user
host1/Admin(config-parammap-optmz)# basefile anonymous-level 25
host1/Admin(config-parammap-optmz)# exit
host1/Admin(config)#

5. レイヤ 7 HTTP 最適化ポリシー マップを作成して、既存のアクション リストとパラメータ マップを関連付け、特定のアクションを設定します。詳細については、「HTTP 最適化に関する トラフィック ポリシーの設定」を参照してください。

host/Admin(config)# policy-map type optimization http first-match L7OPTIMIZATION_POLICY
host/Admin(config-pmap-optmz)# class L7SLBCLASS
host1/Admin(config-pmap-optmz-c)#
host1/Admin(config-pmap-optmz-c)# action ACT_LIST1 parameter
OPTIMIZE_PARAM_MAP
host1/Admin(config-pmap-optmz-c)# exit

6. (任意)フラッシュ メモリに設定変更を保存します。

host1/Admin# copy running-config startup-config

最適化 HTTP パラメータ マップの作成

パラメータ マップを設定すると、ACE が実行するアプリケーション アクセラレーションおよび最適化機能に伴う、最適化関連コマンドを指定できます。パラメータ マップでは、対応するアクション リストで指定されたアクションを調整または制御する機能をグループとしてまとめます。

設定したパラメータ マップは、ポリシー マップでアクション リストと関連付けます。ポリシー マップでパラメータ マップとアクション リストを関連付ける詳細については、「HTTP 最適化に関する トラフィック ポリシーの設定」を参照してください。

特定のアプリケーション アクセラレーションおよび最適化機能を設定できるように、最適化 HTTP パラメータ マップを作成するには、グローバル コンフィギュレーション モードで parameter-map type optimization http コマンドを使用します。

このコマンドのシンタックスは、次のとおりです。

parameter-map type optimization http map_name

map_name 引数には、最大 64 の英数字で、引用符なしのテキスト ストリングとして、一意の名前を入力します。

最適化 HTTP パラメータ マップを作成する場合の入力例を示します。

host1/Admin(config)# parameter-map type optimization http OPTIMIZE_PARAM_MAP
host1/Admin(config-parammap-optmz)#
 

コンフィギュレーションからパラメータ マップを削除する場合は、次のように入力します。

host1/Admin(config)# no parameter-map type optimization http OPTIMIZE_PARAM_MAP
 

この章で説明するコマンドを 1 つまたは複数使用して、最適化 HTTP パラメータ マップを定義します。

AppScope パフォーマンス レート パラメータの設定

オプションの Cisco AVS 3180A Management Station に備わっている、アプリケーション アクセラレーションおよび最適化のパフォーマンスを測定する AppScope 機能を制御するには、パラメータ マップ最適化コンフィギュレーション モードで appscope optimize-rate-percent コマンドを使用します。

オプションの Cisco AVS 3180A Management Station に、ACE が統計ログ情報をアップロードするように設定するには、最適化モードで appscope-log now コマンドを使用します(「グローバル最適化値の設定」を参照)。


) Cisco AVS 3180A Management Station 上で動作する AppScope の詳細については、付録A「オプションの Cisco AVS 3180A Management Station によるレポート作成」を参照してください。


このコマンドのシンタックスは、次のとおりです。

appscope optimize-rate-percent value passthru-rate-percent value

キーワード、引数、およびオプションは、次のとおりです。

value -- アクセラレーション(最適化)適用時のパフォーマンスとして、サンプリングするすべての要求(またはセッション)のパーセンテージを指定します。クラスに該当するすべての最適化が実行されます。有効値は 0 ~ 100% です。デフォルトは 10% です。この値に passthru-rate-percent 値を加えた値が 100 を超えてはなりません。

passthru-rate-percent value -- 最適化を適用しない場合のパフォーマンスとして、サンプリングするすべての要求(またはセッション)のパーセンテージを指定します。クラスに対応する最適化は実行されません。有効値は 0 ~ 100% です。デフォルトは 10% です。この値に optimize-rate-percent 値を加えた値が 100 を超えてはなりません。

AppScope にアクセラレーションを適用させ、最適化を適用させない場合のパフォーマンスとしてサンプリングする、すべての要求(またはセッション)のパーセンテージを指定する入力例を示します。

host1/Admin(config-parammap-optmz)# appscope optimize-rate-percent 50 passthru-rate-percent 50

10% というデフォルトの AppScope パフォーマンス レート設定に戻す場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no appscope optimize-rate-percent 50 passthru-rate-percent 50

AppScope レポート用に要求をソートするストリングの定義

AppScope レポート用に要求をソートするストリングを定義するには、パラメータ マップ最適化コンフィギュレーション モードで request-grouping-string コマンドを使用します。ストリングには、一連の URL を定義する URL の正規表現を含めることができます。この場合、クエリー パラメータだけが異なる URL でも、AppScope レポートでは別個の URL として扱われます。

通常、URL に基づいて編成される AppScope レポートでは、一致する URL で、クエリー パラメータだけが異なる場合、同じ URL として扱われ、別々の行に記載されることはありません。レポートのために、クエリー パラメータに基づいて URL のあらゆるバリエーションをそれぞれ別個の URL として扱うことを指定するには、 request-grouping-string コマンドを使用します。レポートにはバリエーションごとに 1 行ずつ表示されるようになります。

このコマンドのシンタックスは、次のとおりです。

request-grouping-string string

string 引数には、一連の URL を定義する URL の正規表現を指定します。最大ストリング値は 255 文字です。ストリングには、 表3-3 に記載したパラメータ拡張関数を指定できます。

たとえば、http://server/catalog.asp?region=asia および http://server/catalog.asp?region=america という URL を 2 つの異なるレポート カテゴリにするためのストリングを定義する場合、次のように入力します。

host1/Admin(config-parammap-optmz)# request-grouping-string http_query_param(region)
 

要求分類ストリングを削除するには、次のように入力します。

host1/Admin(config-parammap-optmz)# no request-grouping-string

ベース ファイルの匿名性レベルの指定

ACE には、ユーザのプライバシーに対処するために、匿名ベース ファイル機能が組み込まれています。この機能は、 delta コマンドの all-user デルタ最適化オプション(「デルタ最適化動作パラメータの指定」を参照)です。この機能によって、ユーザは ACE を使用して、オンライン取引明細、銀行取引明細、企業会計など、機密性の高いパーソナライズド コンテンツを配信できます。ユーザは通常、SSL と組み合わせてこの機能を使用することによって、セキュリティとプライバシーが保護された凝縮型コンテンツを配信できるようになります。

ベース ファイルの匿名性レベルの詳細については、「アプリケーション アクセラレーションおよび最適化の概要」を参照してください。

ベース ファイルの匿名性レベルは、デフォルトでディセーブルです。all-user delta optimization メソッドにベース ファイルの匿名性レベルを定義するには、パラメータ マップ最適化コンフィギュレーション モードで basefile anonymous-level コマンドを使用します。

このコマンドのシンタックスは、次のとおりです。

basefile anonymous-level value

value 引数には、all-user delta optimaization メソッドのベース ファイル匿名性レベルを指定します。有効値は 0 ~ 50 です。デフォルト値は 0(匿名性がディセーブル)です。

ベース ファイルの匿名性レベルを 25 に指定する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# basefile anonymous-level 25
 

デフォルトのベース ファイル匿名性レベルである 0 に戻す場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no basefile anonymous-level

ベース ファイルのリベース制御

リベースとは、以後のコンテンツ取得の合間にデルタを生成するための、ベース ファイルを更新する処理です。サイトのベース コンテンツはしだいに変化することが多いので、生成されるデルタは容量がかなり大きくなる可能性があります。デルタ最適化処理の有効性を維持するために、必要に応じてベース ファイルを自動更新します。

ACE にベース ファイルのリベースを制御させるには、パラメータ マップ最適化コンフィギュレーション モードで rebase コマンドを使用します。

スマート リベースを使用すると、必要に応じてただちに ACE に URL をリベースさせ、あとで要求された場合に提供できるように、古いベース ページのコピーを維持することができます。この機能によって、リベースの実行中でも、デルタ最適化が常時行われるので、ACE 全体のパフォーマンスとコンテンツ アクセラレーションが向上します。

スマート リベースの詳細については、「アプリケーション アクセラレーションおよび最適化の概要」を参照してください。

このコマンドのシンタックスは、次のとおりです。

rebase { delta-percent value | flashforward-percent value | history-size value | modification-cooloff-period value | reset-period value }

引数、キーワード、およびオプションは、次のとおりです。

delta-percent value -- リベースを開始するデルタしきい値を指定します。この値は、ページの総容量に対するデルタ ページの容量をパーセンテージで表したものです。有効値は 0 ~ 10000% です。デフォルトのしきい値は 50% です。

flashforward-percent value -- 応答の FlashForwarded URL のパーセントに基づいて、リベースを指定します。デルタ応答とベース ファイル間で、FlashForwarded URL のパーセンテージの差がしきい値を超えると、リベースが開始されます。有効値は 0 ~ 10000% です。デフォルトは 50% です。 flashforward-percent キーワードでは、応答の FlashForwarded URL のパーセントに基づいて、リベースのしきい値を制御します。 delta-percent キーワードは、デルタ応答の容量がベース ファイル容量に対するパーセンテージで指定されたしきい値を超えたときに、リベースを開始します。一方、 flashforward-percent キーワードは、デルタ応答とベース ファイル間で、FlasForwarded URL のパーセンテージの差がしきい値を超えた場合に、リベースを開始します。

history-size value -- リセットまでにどの程度履歴を保存するかを制御します。サンプル コレクションが指定された履歴容量に達すると、ACE はすべてのリベース制御パラメータをリセットし、ゼロから再び始めます。このキーワードを使用すると、ベース ファイルの硬直を防止できます。つまり、ベース ファイルが約 100 万ページを提供した場合、ベース ファイルをリベースできるまでに、さらに 50 万ほどの望ましくない応答が発生することになります。有効値は 10 ~ 2147483647 ページです。このパラメータのデフォルト値は 1000 ページです。

modification-cooloff-period value -- 最終変更からリベース実行までの時間を秒数で指定します。有効値は 1 ~ 14400 秒(4 時間)です。デフォルトは 14400 秒です。

reset-period value -- メタデータ リフレッシュを実行する間隔を指定します。有効値は 1 ~ 900 秒(15 分)です。デフォルトは 900 秒です。

応答の 1000 の FlashForwarded URL のパーセンテージに基づいて、リベースを指定する入力例を示します。

host1/Admin(config-parammap-optmz)# rebase flashforward-percent 1000
 

デフォルトのリベース設定に戻すには、次のように入力します。

host1/Admin(config-parammap-optmz)# no rebase flashforward-percent

カノニカル URL 正規表現

パラメータ マップでカノニカル URL 関数を使用して、ベース ファイル選択ポリシーを指定します。カノニカル URL 関数では、実際の各種 URL を照合するための正規表現を指定します。一致したすべての URL で 1 つのベース ファイルを共有します。

ACE では、カノニカル URL 関数を使用して、パラメタ化された要求を変更し、疑問符(?)とその後ろに続く、URL の汎用部分を特定する文字を排除します。その後、この汎用 URL を使用して、ベース ファイルを作成します。ACE では、カノニカル URL を使用して、複数のパラメータ化された URL を 1 つのカノニカル URL にマッピングします。

カノニカル URL 関数の詳細については、「アプリケーション アクセラレーションおよび最適化の概要」を参照してください。

パラメータ マップが適用される一連の URL を定義するカノニカル URL 正規表現が含まれるストリングを指定するには、パラメータ マップ最適化コンフィギュレーション モードで canonical-url コマンドを使用します。 canonical-url コマンドを使用することによって、少なくとも 1 つは URL を指定する必要があります。

このコマンドのシンタックスは、次のとおりです。

canonical-url parameter-expander-function

parameter-expander-function 引数には、ストリングに対して評価されるパラメータ拡張関数を指定します。最大ストリング値は 255 文字です。 表3-3 に、使用できるパラメータ拡張関数を示します。

カノニカル URL 正規表現が含まれるストリングを指定する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# canonical-url $(1)/$http_query_param(category)
 

カノニカル URL 正規表現が含まれるストリングを削除するには、次のように入力します。

host1/Admin(config-parammap-optmz)# no canonical-url
 

スタティックおよびアダプティブ キャッシュ パラメータ

ここでは、パラメータ マップでスタティックおよびダイナミック アダプティブ キャッシングの両方を設定する方法について説明します。要求と一致するトラフィック クラスが検出されると、対応するキャッシュ ポリシーが点検され、そのオブジェクトに適用されます。

キャッシュ対象オブジェクトには、必ず 2 つの要素があります。

キー 。 オブジェクトはキーに基づいてキャッシュされます。キーはパラメータ マップ コマンド canonical-url「カノニカル URL 正規表現」 を参照)、 cache key-modifier 、および cache parameter で制御します。 cache key-modifier および cache parameter コマンドの詳細については、「キャッシュ キーの変更」 を参照してください。

キャッシュ コンテンツの期限切れ動作。キャッシュ コンテンツの期限切れは、時間制または負荷に基づく方式が可能です。有効期限設定の詳細については、「時間に基づいたキャッシュ オブジェクト有効期限の設定」および「負荷に基づいたキャッシュ オブジェクト有効期限の指定」を参照してください。

ダイナミック キャッシングの詳細については、「アプリケーション アクセラレーションおよび最適化の概要」を参照してください。

ここで扱うトピックは、次のとおりです。

キャッシュ キーの変更

時間に基づいたキャッシュ オブジェクト有効期限の設定

負荷に基づいたキャッシュ オブジェクト有効期限の指定

キャッシュ要求または応答ヘッダーの上書き

キャッシュ キーの変更

キャッシュ オブジェクト キーは、起点サーバへアクセスしなくてもすむように、クライアントに提供するキャッシュ オブジェクトを識別するための、固有の識別情報です。

HTTP プロトコルはセッションベースではなく、あらゆるページおよび従属オブジェクトに対する個々の要求が完全に自律的であり、要求間でステートが維持されることはありません。この状況が原因で、Web アプリケーションの開発者は、cookie などのセッション トラッキング テクニックを使用しなくてはいけません。キャッシュ キーには、単なる URL 以外のものを含めなければならないこともあります。

ACE が個々の URL 要求に使用するキーは、次の 2 種類のコンポーネントの 1 つまたは複数からなります。図 3-1 を参照してください。

カノニカル URL -- URL の疑問符(?)までの部分。カノニカル URL は、 cache key-modifier コマンドで変更できます。

クエリー パラメータ -- URL の疑問符(?)より後ろの部分。クエリー パラメータは cache parameter コマンドで変更できます。このコマンドを使用すると、選択したクエリー パラメータ、cookie 値、HTTP ヘッダー値、またはその他の値を含めることができます。

キャッシュ キーを変更するには、最適化パラメータ モードで次のコマンドを定義します。

cache key-modifier

cache parameter

図 3-1 URL に基づいてキャッシュ キーを形成する方法

 

ここで扱うトピックは、次のとおりです。

キャッシュ キーのカノニカル URL 部分の変更

キャッシュ キーに含まれる URL のクエリー パラメータ部分の変更

キャッシュ キーのカノニカル URL 部分の変更

パラメータ マップ最適化コンフィギュレーション モードで cache key-modifier コマンドを使用することによって、キャッシュ キーの形成に使用する URL のカノニカル形式、すなわち疑問符(?)より前の部分を変更できます。このコマンドでは、ACE に拡張させる組み込み変数を含めた正規表現を指定します。( number )変数には、ゼロ以上のインスタンスを指定できます。 表3-3 を参照してください。

cache key-modifier コマンドの結果として生成された拡張ストリングによって、キャッシュ キーのデフォルトのカノニカル URL 部分が置き換えられます。 cache key-modifier コマンドを指定しなかった場合は、カノニカル URL がキャッシュ キーの URL 部分(クエリー パラメータ部分も含まれる可能性あり)のデフォルト値として使用されます。

cache key-modifier コマンドを使用して、コンテンツ配信ネットワーク(CDN)によって追加された URL の一部分をはぎ取る例を示します。

host1/Admin(config)# class-map type http loadbalance match-any Example1_Classmap
host1/Admin(config-cmap-http-lb)# match http url .*mycdn\.net.*www(.*\.gif)
host1/Admin(config-cmap-http-lb)# exit
host1/Admin(config)# parameter-map type optimization http OPTIMIZE_PARAM_MAP1
host1/Admin(config-parammap-optmz)# cache key-modifier http://www$(1)
host1/Admin(config-parammap-optmz)# exit
host/Admin(config)# policy-map type optimization http first-match L7OPTIMIZATION_POLICY
host/Admin(config-pmap-optmz)# class Example1_Classmap
host1/Admin(config-pmap-optmz-c)# action ACT_LIST1 parameter
OPTIMIZE_PARAM_MAP1
 

Exampl1_Classmap クラス マップの match http url コマンドでは、このトラフィック クラスの使用対象となる URL を特定する、正規表現を指定します。正規表現では、次のようにシーケンスを定義します。最初にリテラル mycdn.net まで任意の文字数を指定し、続けてリテラル www まで任意の文字からなるシーケンスを指定し、さらに URL の最後として(カッコで囲んで)サブ表現グループを指定します。

正規表現に含まれるこのサブ表現グループは、任意の文字からなるシーケンスの後ろに、ストリングを終わらせるリテラル .gif を加えたものです。サブ表現グループは、( number )シンタックスを使用して拡張できます。このグループは最初かつ唯一のサブ表現なので、(1)で参照できます。

cache key-modifier コマンドは、「http://www」で始まり、前の行のサブ表現グループ 1 の値で終わる新しいストリングで、元の URL を置き換えます。その結果、CDN へのリダイレクトに使用された URL 部分がはぎ取られます。

cache key-modifier コマンドを使用すると、次のような一致する URL が変形されます。

http://a188.g.mycdn.net/f/188/920/1d/www.mysite.com/images/logo.gif
 

変形後のストリング

http://www.mysite.com/images/logo.gif
 

コマンドのシンタックスは、次のとおりです。

cache key-modifier { string parameter_expander_function }

引数は次のとおりです。

string -- 正規表現。引用符を使用しないで、スペースを含まないテキスト ストリングを入力します。最大文字数は英数字 255 文字です。または、ストリング全体を引用符(")で囲むことによって、スペースを含めたテキスト ストリングを入力できます。ACE は、ストリング表現の照合に正規表現を使用することをサポートします。 表3-2 に、ストリング表現の照合に使用できる、サポート対象文字を示します。

parameter_expander_function -- ストリングに対して評価するパラメータ拡張関数最大ストリング値は 255 文字です。 表3-3 に、使用できるパラメータ拡張関数を示します。

入力例を示します。

host1/Admin(config-parammap-optmz)# cache key-modifier http://www$(1)
 

キャッシュ キー修飾子を削除する場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no cache key-modifier
 

 

表3-2 ストリング表現照合用の特殊文字

表記
説明

.

任意の文字の 1 つ

.*

ゼロ以上の任意の文字

\.

ピリオド(エスケープ)

[ charset ]

範囲内のあらゆる単一文字と一致

[^charset]

範囲内のどの文字とも一致しません。それ以外のすべての文字はそのままです。

()

表現のグループ化

(expr1 | expr2)

表現の論理和

(expr)*

ゼロ以上の表現

(expr)+

1 または複数の表現

expr{m,n}

m n 回、表現を繰り返します。この場合、 m および n は 1 ~ 255 です。

expr{m}

正確に m 回だけ表現を照合します。 m の範囲は 1 ~ 255 です。

expr{m,}

m 回またはそれ以上、表現を照合します。 m の範囲は 1 ~ 255 です。

\a

アラート(ASCII 7)

\b

バックスペース(ASCII 8)

\f

用紙送り(ASCII 12)

\n

改行(ASCII 10)

\r

復帰(ASCII 13)

\t

タブ(ASCII 9)

\v

垂直タブ(ASCII 11)

\0

ヌル(ASCII 0)

\\

バックスラッシュ

\x##

2 桁の 16 進表記で指定した任意の ASCII 文字

 

表3-3 パラメータ拡張関数

変数
説明
$( number )

URL パターンの( number で)一致する対応サブ表現に拡張します。URL パターン内のサブ表現は、カッコ () を使用して表します。サブ表現の番号は 1 から始まり、これが左カッコ「(」の番号で、左から数えます。番号には任意の正の整数を指定できます。$(0) は URL 全体と一致します。たとえば、URL パターンが ((http://server/.*)/(.*)/)a.jsp の場合、一致した URL は次のとおりです。

http://server/main/sub/a.jsp?category=shoes&session=99999 です。したがって、下記は有効です。

$(0) = http://server/main/sub/a.jsp

$(1) = http://server/main/sub/

$(2) = http://server/main

$(3) = sub

入力ストリームに指定されたサブ表現がない場合、変数は空ストリングとして展開されます。

$http_query_string()

URL のクエリー ストリング全体の値に展開されます。たとえば、次の URL の場合、

http://myhost/dothis?param1=value1&param2=value2

下記は有効です。

$http_query_string() = param1=value1&param2=value2

この関数は、GET 要求と POST 要求の両方に適用されます。

$http_query_param( query-param-name )
 

この廃止されたシンタックスもサポートされます。

$param( query-param-name )

名前で指定されたクエリー パラメータ(大文字と小文字が区別される)の値に展開されます。たとえば、次の URL の場合、

http://server/main/sub/a.jsp?category=shoes&session=99999

下記は有効です。

$http_query_param(category) = shoes

$http_query_param(session) = 99999

クエリーに指定されたパラメータがない場合、変数は空ストリングとして展開されます。この関数は、GET 要求と POST 要求の両方に適用されます。

$http_cookie( cookie-name )

指定された cookie の値に展開されます。$http_cookie(cookiexyz) が 1 例です。cookie 名は大文字と小文字が区別されます。

$http_header( request-header-name )

指定された HTTP 要求ヘッダーの値に展開されます。複数の値を持つヘッダーの場合、HTTP 仕様で指定された単一表現になります。$http_header(user-agent) が 1 例です。HTTP ヘッダー名は、大文字と小文字が区別されません。

$http_method()

GET、POST など、要求に使用した HTTP メソッドとして評価されます。

ブール関数

$http_query_param_present
( query-param-name )
$http_query_param_notpresent
( query-param-name )
$http_cookie_present( cookie-name )
$http_cookie_notpresent( cookie-name )
$http_header_present( request-
header-name
)
$http_header_notpresent( request-header-name )
$http_method_present( method-name )
$http_method_notpresent( method-name )

ブール値として評価されます。つまり、要求における要素の有無に応じて、真または偽です。要素は特定のクエリー パラメータ(query-param-name)、特定の cookie
(cookie-name)、特定の要求ヘッダー(request-header-name)、または特定の HTTP メソッド(method-name)です。識別情報は、HTTP 要求ヘッダー名を除き、すべて大文字と小文字の区別があります。

キャッシュ キーに含まれる URL のクエリー パラメータ部分の変更

cache parameter コマンドでは、キャッシュ キーの形成に使用する、URL のクエリー パラメータ部分、すなわち疑問符(?)より後ろの部分を変更します。キャッシュ キーのパラメータ部分を変更する場合、このコマンドで 1 つまたは複数のパラメータ拡張機能が含まれる表現を指定します。

cache parameter コマンドでは、ストリングとして評価される 1 つまたは複数のパラメータ拡張関数を指定します。これらのストリングは、カノニカル URL に付加され、キャッシュ キーの最後の部分を形成します。 表3-3 に、パラメータ拡張関数を示します。

cache parameter コマンドで指定されたストリングによって、キャッシュ キーで使用されているデフォルトのクエリー パラメータが置き換えられます。 cache parameter コマンドを指定しなかった場合は、キャッシュ キーのこの部分に、URL のクエリー パラメータ部分がデフォルト値として使用されます。キャッシュ キーの最初の部分は、カノニカル URL です。これは cache key-modifier コマンドを入力することによって変更できます。

cache parameter コマンドを使用して、「version」というクエリー パラメータの値ごとに、ダイナミック キャッシュ ページの異なるインスタンスを作成する例を示します。

host1/Admin(config)# class-map type http loadbalance match-any Example2_Classmap
host1/Admin(config-cmap-http-lb)# match http url .*dyncache/page3\.asp.*
host1/Admin(config-cmap-http-lb)# exit
host1/Admin(config)# parameter-map type optimization http OPTIMIZE_PARAM_MAP2
host1/Admin(config-parammap-optmz)# cache parameter $http_query_param(version)
host1/Admin(config-parammap-optmz)# exit
host/Admin(config)# policy-map type optimization http first-match L7OPTIMIZATION_POLICY
host/Admin(config-pmap-optmz)# class Example2_Classmap
host1/Admin(config-pmap-optmz-c)# action ACT_LIST2 parameter
OPTIMIZE_PARAM_MAP2
 

Exampl2_Classmap クラス マップの match http url コマンドでは、このトラフィック クラスの使用対象となる URL を特定する、正規表現を指定します。シーケンスは、最初にリテラル dyncache/page3.asp まで任意の数の任意の文字を指定し、さらに URL の最後まで、任意の文字シーケンスを指定します。

cache parameter コマンドで、キャッシュ キーのクエリー パラメータ部分の値として $http_query_param(version) を設定します。キャッシュ キーのクエリー パラメータ部分のデフォルト値は、URL のクエリー パラメータ部分全体です。

このコンフィギュレーションは、一致した次のような URL から抜き出されます。

http:www.mysite.com/dyncache/page3.asp?session=nqyfxe46&m=int&version=12
 

12 というストリングは、version パラメータの値です。キャッシュ キーの URL 部分にこのストリングが追加されて、完全なキャッシュ キーになります。

コマンドのシンタックスは、次のとおりです。

cache parameter parameter_expander_function

parameter-expander-function 引数には、ストリングに対して評価されるパラメータ拡張関数を指定します。複数のパラメータ拡張関数を組み合わせる場合は、スラッシュ(/)を使用します( cache parameter $http_cookie(ID)/
$http_query_param(category)
など)。最大ストリング値は 255 文字です。 表3-3 に、使用できるパラメータ拡張関数を示します。

キャッシュ キーのクエリー パラメータ部分の値を設定する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# cache parameter $http_query_param (version)
 

キャッシュ パラメータを削除する場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no cache parameter
 

時間に基づいたキャッシュ オブジェクト有効期限の設定

ACE キャッシュ鮮度の設定値を定義するには、パラメータ マップ最適化コンフィギュレーション モードで cache ttl コマンドを使用します。このコマンドでは、明示的に有効期限が設定されていないオブジェクトについて、フレッシュとみなされる最大時間( max キーワード)または最小時間( min キーワード)を秒数で設定します。 percent キーワードでは、明示的に有効期限が設定されていない組み込みオブジェクトについて、フレッシュとみなされるオブジェクト経過時間をパーセントで設定します。

クライアントのブラウザでオブジェクトが鮮度を保つ時間の長さを制御するには、パラメータ マップ最適化コンフィギュレーション モードで expires-setting コマンドを使用します。詳細については、「クライアント ブラウザにおけるオブジェクト鮮度維持期間の指定」を参照してください。

このコマンドのシンタックスは、次のとおりです。

cache ttl { min time | max time | percent value }

キーワード、引数、およびオプションは、次のとおりです。

min time -- 有効期限が明示的に設定されていないオブジェクトについて、フレッシュとみなされる最小時間を秒数で指定します。 min キーワードでは、コンテンツをキャッシュできる最小時間を指定します。これは、コンテンツの寿命に対応します。たとえば、新しいアイテムの有効期間が 3 時間の場合、この値は 3 × 60 × 60 = 10800 秒です。スタティック キャッシュ( flashforward-object 動作)の場合、この値は通常 0 です。ダイナミック キャッシュ( cache dynamic 動作)の場合、ACE にページをキャッシュさせる時間の長さを表すように、この値を設定します。有効値は 0 ~ 2147483647 秒です。デフォルトは 0 です。

max time -- 有効期限が明示的に設定されていないオブジェクトについて、フレッシュとみなされる最大時間を秒数で指定します。 max キーワードを使用して、キャッシュ最小 TTL(存続可能時間)の経過後、ACE にどのように処理させるかを決定します。デフォルトは 300 秒です。

percent value -- 有効期限が明示的に設定されていない組み込みオブジェクトについて、フレッシュとみなされるオブジェクト経過時間をパーセントで指定します。有効値は 0 ~ 100% です。デフォルトは 0% です。

コンテンツをキャッシュできる最小 TTL 値を 1000 秒に指定する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# cache ttl min 1000
 

デフォルトのキャッシュ TTL 値に戻すには、次のように入力します。

host1/Admin(config-parammap-optmz)# no cache ttl min

負荷に基づいたキャッシュ オブジェクト有効期限の指定

負荷に基づいた有効期限を指定してパフォーマンス保証を使用すると、キャッシュ内のオブジェクトの有効期限を設定できます(キャッシュ プルーニングのナチュラル プロセスは除く)。この場合、起点サーバの負荷によって、オブジェクトの有効期限が決まります。

このタイプの有効期限を使用すると、起点サーバからの現在の応答時間(短い時間枠で計算された平均)が平均応答時間(長い時間枠で計算された平均)をしきい値分より上回る場合に、キャッシュ応答の TTL をダイナミックに増やすことができます。同様に、逆の場合は TTL がダイナミックに引き下げられます。キャッシュ TTL の開始値は cache ttl min 値(「時間に基づいたキャッシュ オブジェクト有効期限の設定」を参照)、または指定しなかった場合は 0 です。平均ベースの計算を変動させる目的は、使用パターンの傾向にキャッシュを対応させて、特性のないスパイクをスムーズにすることです。

負荷に基づいたキャッシュ有効期限を制御するには、パラメータ マップ最適化コンフィギュレーション モードで server-load コマンドを使用します。

このコマンドのシンタックスは、次のとおりです。

server-load { trigger-percent value | ttl-change-percent value }

キーワード、オプション、および引数は、次のとおりです。

trigger-percent value -- キャッシュ TTL の変更が開始されるしきい値を定義します。このキーワードによって、ACE はサーバの負荷をリアルタイムで監視し、トラフィックの負荷がピークのときでも、最大限のサイト パフォーマンスを実現し、既存ハードウェア リソースを最も効率的に使用できるように、インテリジェントな方式でクローズ ループ コンテンツ期限を決定できます。有効値は 0 ~ 100% です。デフォルトは 20% です。

ttl-change-percent value -- サーバ負荷の変化に応じて、キャッシュ TTL をどれだけ増減するかをパーセントで定義します。たとえば、この値を 20 に設定し、所定の応答に対する現在の TTL が 300 秒で、現在のサーバ応答時間がトリガーしきい値を超えている場合、その応答のキャッシュ TTL は 360 秒に引き上げられます(20% の増加)。有効値は 0 ~ 100% です。デフォルトは 20% です。

トリガーしきい値を 50% に指定する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# server-load trigger-percent 50
 

デフォルトの設定である 20% に戻すには、次のように入力します。

host1/Admin(config-parammap-optmz)# no server-load trigger-percent

キャッシュ要求または応答ヘッダーの上書き

クライアント要求ヘッダー(主に組み込みオブジェクト関連)を上書きするには、パラメータ マップ最適化コンフィギュレーション モードで cache-policy request コマンドを使用します。

このコマンドのシンタックスは、次のとおりです。

cache-policy request { override-all | override-cache-ctl-no-cache }

キーワードは次のとおりです。

override-all -- すべてのキャッシュ要求ヘッダーを無視することを指定します。

override-cache-ctl-no-cache -- 要求の Cache-Control: no cache HTTP ヘッダーを上書きします。このキーワードは、 flashforward-object コマンド動作用です(「最適化HTTP アクション リストの設定」を参照)。キャッシュ コントロール要求ヘッダーでキャッシュがないことが示されている場合、ACE は通常、このオブジェクトをキャッシュしません。
override-cache-ctl-no-cache
キーワードは ACE に、要求側からの
Cache-Control: no cache ヘッダーを無視するように指示します。

すべてのキャッシュ要求ヘッダーを無視することを ACE に指示する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# cache-policy request override-all
 

キャッシュ ポリシー要求の選択を削除する場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no cache-policy request override-all
 

起点サーバ応答ヘッダー(主に組み込みオブジェクト関連)を上書きするには、パラメータ マップ最適化コンフィギュレーション モードで
cache-policy response コマンドを使用します。

このコマンドのシンタックスは、次のとおりです。

cache-policy response { override-all | override-cache-ctl-private }

キーワードは次のとおりです。

override-all -- すべてのキャッシュ応答ヘッダーを無視することを指定します。

override-cache-ctl-private -- 応答の Cache-Control: private HTTP ヘッダーを上書きします。このキーワードは、 flashforward-object コマンド動作用で(「最適化HTTP アクション リストの設定」を参照)、スタティック オブジェクト キャッシングと同等です。キャッシュ コントロール応答ヘッダーがプライベートであることを示している場合、応答ヘッダーは通常、オブジェクトをキャッシュ不能にします。 override-cache-ctl-private キーワードは ACE に、応答からの Cache-Control: private HTTP ヘッダーを無視するように指示します。

すべてのキャッシュ応答ヘッダーを無視することを ACE に指示する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# cache-policy response override-all
 

キャッシュ ポリシー応答の選択を削除する場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no cache-policy response override-all

凝縮型コンテンツ ページのデフォルト スクリプト言語の指定

ACE が凝縮型コンテンツ ページで使用されているスクリプト言語が JavaScript なのか Visual Basic なのかを認識できるように設定するには、パラメータ マップ最適化コンフィギュレーション モードで clientscript-default コマンドを使用します。

このコマンドのシンタックスは、次のとおりです。

clientscript-default { javascript | vbscript }

キーワードは次のとおりです。

javascript -- デフォルトのスクリプト言語を JavaScript(デフォルト)に設定します。

vbscript -- デフォルトのスクリプト言語を Visual Basic に設定します。

デフォルトのスクリプト言語を Visual Basic に設定する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# clientscript-default vbscript
 

デフォルトのスクリプト言語である JavaScript に戻す場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no clientscript-default vbscript

デルタ最適化動作パラメータの指定

ACE は、Web アプリケーション パフォーマンスのアクセラレーションを図るために、複数の最適化テクノロジーを適用します。ACE によるキャッシュ可能コンテンツおよびオブジェクトの扱いを左右する、デルタ最適化動作パラメータを設定できます。さらに、デルタ最適化モードを制御して、凝縮型 Web ページを全ユーザ共通にするか、それとも個々のユーザごとにパーソナライズするかを決定することもできます。

ここで扱うトピックは、次のとおりです。

デルタ最適化に関するキャッシュ可能コンテンツおよびオブジェクトの設定

デルタ最適化モードの指定

デルタ最適化に関するキャッシュ可能コンテンツおよびオブジェクトの設定

ACE 上でデルタ最適化動作パラメータを設定するには、パラメータ マップ最適化コンフィギュレーション モードで delta コマンドを使用します。

このコマンドのシンタックスは、次のとおりです。

delta { cacheable-content | exclude {iframes | mime-type mime-type | non-ascii | scripts } | first-visit | page-size { min value | max value }

キーワードおよびオプションは、次のとおりです。

cacheable-content -- キャッシュ可能コンテンツのデルタ最適化をイネーブルにします。ACE は通常、キャッシュ可能コンテンツを検出して、デルタ最適化を行わないようにします。

exclude -- デルタ最適化を行うべきではないキャッシュ可能オブジェクトを定義します。

iframes -- インライン フレーム(IFRAME タグ)のデルタ最適化を行わないことを指定します。

mime-type mime-type -- デルタ最適化を行わない MIME(多目的インターネット メール拡張)タイプのメッセージ(image/Jpeg、text/html、
application/msword、audio/mpeg など)を指定します。

サポート対象の MIME タイプは、次のとおりです。

application/msexcel

application/mspowerpoint

application/msword

application/octet-stream

application/pdf

application/postscript

application/\x-gzip

application/\x-java-archive

application/\x-java-vm

application/\x-messenger

application/\zip

audio/*

audio/basic

audio/midi

audio/mpeg

audio/x-adpcm

audio/x-aiff

audio/x-ogg

audio/x-wav

image/*

image/gif

image/jpeg

image/png

image/tiff

image/x-3ds

image/x-bitmap

image/x-niff

image/x-portable-bitmap

image/x-portable-greymap

image/x-xpm

text/*

text/css

text/html

text/plain

text/richtext

text/sgml

text/xmcd

text/xml

video/*

video/flc

video/mpeg

video/quicktime

video/sgi

video/x-fli

non-ascii -- 非 ASCII データのデルタ最適化を行わないことを指定します。このキーワードを指定するのは、コンテンツに UTF8 文字が使用されている場合です(「UTF-8 文字表示の制御」を参照)。この指定により、該当する文字はデルタ最適化から除外されますが、そのページの残りの部分は、そのままデルタ最適化が可能です。

scripts -- JavaScript のデルタ最適化を行わないことを指定します。

first-visit -- Web ページに初めてアクセスした時点でのデルタ最適化をイネーブルにします。

page-size -- デルタ最適化に対応する最小および最大ページ サイズをバイト数で設定します。

min value -- デルタ最適化に対応する最小ページ サイズをバイト数で指定します。有効値は 1 ~ 250000 バイトです。デフォルトは 1024 バイトです。

max value -- デルタ最適化に対応する最大ページ サイズをバイト数で指定します。有効値は 1024 ~ 250000 バイトです。デフォルトは 250000 バイトです。

デルタ最適化を行わない MIME タイプのメッセージを指定する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# delta exclude mime-type audio/mpeg
 

ACE 上でデルタ最適化動作パラメータをディセーブルにするには、次のように入力します。

host1/Admin(config-parammap-optmz)# no delta exclude mime-type audio/mpeg

デルタ最適化モードの指定

デルタ最適化モードでは、凝縮型 Web ページを全ユーザ共通にするのか、それとも個々のユーザごとにパーソナライズするのかを指定します。この指定によって、ACE が生成するページ デルタの種類が決まります。

ACE は、2 種類のデルタ最適化モードをサポートします。

all-user(全ユーザ)モード

per-user(ユーザ別)モード

各デルタ最適化モードの詳細については、「アプリケーション アクセラレーションおよび最適化の概要」を参照してください。

ACE に使用させるデルタ最適化モードを制御するには、パラメータ マップ最適化コンフィギュレーション モードでもう 1 つの delta コマンドを使用します(「デルタ最適化に関するキャッシュ可能コンテンツおよびオブジェクトの設定」を参照)。

このコマンドのシンタックスは、次のとおりです。

delta { all-user | per-user }

キーワードは次のとおりです。

all-user -- all-user デルタ最適化モードを使用することによって、対応する URL の凝縮を行うことを指定します。これがデフォルトです。

per-user -- per-user デルタ最適化モードを使用することによって、対応する URL の凝縮を行うことを指定します。

per-user モードを使用して、対応する URL のデルタ最適化を行うことを指定する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# delta per-user
 

デフォルトの all-user デルタ最適化モードに戻す場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no delta per-user

クライアント ブラウザにおけるオブジェクト鮮度維持期間の指定

クライアントのブラウザでオブジェクトが鮮度を保つ時間の長さを制御するには、パラメータ マップ最適化コンフィギュレーション モードで expires-setting コマンドを使用します。 expires-setting コマンドは、Expires 応答ヘッダーにオブジェクトの時間値を追加することを ACE に指示します。アクション リストで flashforward コマンドを指定する場合、このコマンドを設定する必要はありません。トランスフォーメーション後のオブジェクトについては、ACE が Expires ヘッダーに長い時間値を追加するからです。 expires-setting コマンドは通常、FlashForward は使用しないが、すべての組み込みオブジェクトがフレッシュであるとブラウザで認識されるようにすることによって、FlashForward 効果を実現する場合に使用します。

FlashForward の詳細については、「アプリケーション アクセラレーションおよび最適化の概要」を参照してください。

このコマンドのシンタックスは、次のとおりです。

expires-setting { cachettl | time-to-live seconds | unmodified }

キーワードおよびオプションは、次のとおりです。

cachettl -- FlashForwared オブジェクトと同様の鮮度を設定し、 cache ttl コマンドによって設定された最小および最大設定値を使用します(設定されている場合)。「時間に基づいたキャッシュ オブジェクト有効期限の設定」を参照してください。

time-to-live seconds -- クライアント ブラウザでオブジェクトがフレッシュであり続ける期間。有効値は 0 ~ 2147483647 秒です。

unmodified -- ブラウザ オブジェクトの鮮度制御をディセーブルにします(デフォルト)。

cache ttl コマンドで設定された値を ACE に使用させる場合の入力例を示します。

host1/Admin(config-parammap-optmz)# expires-setting cachettl
 

有効期限の設定を削除する場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no expires-setting cachettl

ドキュメントからのメタ要素の削除

ACE はデフォルトで、ドキュメントに HTML メタ要素を組み込みます。ドキュメントから HTML メタ要素を削除し、凝縮が行われないように ACE を設定するには、パラメータ マップ最適化コンフィギュレーション モードで extract meta コマンドを使用します。

このコマンドのシンタックスは、次のとおりです。

extract meta

ドキュメントから HTML メタ要素を削除する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# extract meta
 

ドキュメントに HTML メタ要素を含める場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no extract meta

FlashConnect 限度の指定

FlashConnect を使用すると、ACE は帯域幅の使用率を引き下げ、HTML ページに組み込まれているオブジェクトのダウンロードを高速化します。FlashConnect はプレフィクスを追加し、ホスト名を変更することによって、組み込みオブジェクトの名前をダイナミックに変更し、すべてのオブジェクトが単一ホスト上にある場合も含めて、各オブジェクトが異なるホストに配置されているように見せかけます。FlashConnect はブラウザがオブジェクトごとに、起点サーバに対して別々の接続を開始するようにします。その結果、オブジェクトが 1 つずつ取得されるのではなく、並行して取得されるので、ネットワーク パフォーマンスが向上します。

FlashConnect 機能に使用させる人工ホストの数を制限するには、パラメータ マップ最適化コンフィギュレーション モードで flashconnect limit コマンドを使用します。4 ホストがデフォルトの限度です。

このコマンドのシンタックスは、次のとおりです。

flashconnect limit value

value 引数には、FlashConnect 機能に使用させる人工ホストの数を制限します。有効値は 0 ~ 99 です。デフォルトは 4 です。

限度を 15 ホストに設定する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# flashconnect limit 15
 

デフォルトの 4 ホストに戻す場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no flashconnect limit
 

FlashConnect はデフォルトでディセーブルであり、アクション リスト最適化モードで次のコマンドを指定することによってイネーブルにする必要があります。 flashconnect (コンテナ ページの場合)および flashconnect-object (組み込みオブジェクトの場合)です。「最適化HTTP アクション リストの設定」を参照してください。

FlashConnect でホスト名のトランスフォーメーションを行う場合は、グローバル最適化モードで prefix flashconnect コマンドを使用することによって、組み込みオブジェクト URL のホスト名の前に挿入する、グローバル プレフィクスを指定できます。「グローバル最適化値の設定」を参照してください。

FlashForwared のバイパス

FlashForward オブジェクト アクセラレーションによって、ACE の帯域幅使用率引き下げおよびダウンロード高速化の利点は HTML ページに組み込まれたオブジェクトに拡大されます。この機能は、ローカル オブジェクト ストレージと組み込みオブジェクトのダイナミック リネームを結合して、親 HTML ページ内のオブジェクトの鮮度を維持します。FlashForward の詳細については、「アプリケーション アクセラレーションおよび最適化の概要」を参照してください。

古い組み込みオブジェクトには FlashForward をバイパスするように ACE を設定するには、パラメータ マップ最適化コンフィギュレーション モードで flashforward refresh-policy コマンドを使用します。

このコマンドのシンタックスは、次のとおりです。

flashforward refresh-policy { all | direct }

キーワードは次のとおりです。

all -- FlashForward に組み込みオブジェクトを間接的にリフレッシュさせます(デフォルト)。

direct -- 古い組み込みオブジェクトには FlashForward をバイパスし、直接リフレッシュされるようにします。

古い組み込みオブジェクトに関して ACE が起点サーバに送信する要求ヘッダー(間接 GET)は、起点サーバが受け付けない可能性があります。その結果、エラーが発生することがあります。この場合、 direct を指定して、このような動作を防止します。


) FlashForward はデフォルトでディセーブルです。アクション リスト最適化モードで次のコマンドを指定することによって、イネーブルにする必要があります。flashforward および flashforward-object(組み込みオブジェクトの場合)です。「最適化HTTP アクション リストの設定」を参照してください。


古い組み込みオブジェクトに対して、FlashForward をバイパスする場合の入力例を示します。

host1/Admin(config-parammap-optmz)# flashforward refresh-policy direct
 

デフォルトに戻し、FlashForward に組み込みオブジェクトを間接的にリフレッシュさせる場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no flashforward refresh-policy

無視する HTTP 応答コードの特定

パラメータ マップ最適化コンフィギュレーション モードで
ignore-server-content コマンドを使用すると、カンマで区切ったリストで、読み取るべきではない(無視する)応答本文に対応する HTTP 応答コードを指定できます。たとえば、302 という応答コード値は、起点サーバからの応答が 302(リダイレクト)の場合、応答本文を無視することを ACE に指示します。

このコマンドのシンタックスは、次のとおりです。

ignore-server-content value

value 引数には、最大 64 の英数字で、引用符なしのテキスト ストリングとして、応答コードwo指定します。

302 という応答コード値を無視するように指定する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# ignore-server-content 302
 

無視する応答コードのうち、1 つまたは複数を削除するには、次のように入力します。

host1/Admin(config-parammap-optmz)# no ignore-server-content

画像最適化の設定

画像最適化によって、ACE に JPEG および PNG 画像をどのように圧縮させるかを制御します。JPEG および PNG 画像に適用する圧縮の程度を制御するには、パラメータ マップ最適化コンフィギュレーション モードで image コマンドを使用します。

画像最適化の詳細については、「アプリケーション アクセラレーションおよび最適化の概要」を参照してください。

ACE では、画像最適化はデフォルトでディセーブルです。画像最適化を設定するには、アクション リスト最適化モードで image コマンドを使用します。「最適化HTTP アクション リストの設定」を参照してください。

このコマンドのシンタックスは、次のとおりです。

image { grayscale | high | ignore-thumbnails | progressive | smooth }

キーワードは次のとおりです。

grayscale -- 画像をグレースケール画像に変換します。

high -- 画像に高品質(圧縮の少ない)トランスフォーメーションを適用します。このトランスフォーメーションによって、画像サイズはこのオプションを指定しないで圧縮した場合より大きくなりますが、視覚的な劣化は少なくなります。このオプションを指定した場合でも、画像サイズは圧縮しなかった場合より小さくなります。

ignore-thumbnails -- 小さいサムネイル画像を無視させます(どのようなトランスフォーメーションも行いません)。標準モードの場合、このオプションはデフォルトでイネーブルです。

progressive -- プログレッシブ レンダリングが行われるように、画像をトランスフォーメーションします。標準モードの場合、このオプションはデフォルトでイネーブルです。このトランスフォーメーションによって、画像サイズは多少大きくなりますが、ブラウザによってプログレッシブ レンダリングが行われます。LAN などの高速ネットワーク環境では、 progressive キーワードを使用しないでください。

smooth -- 必要に応じて、画像にスムージング トランスフォーメーションを適用します。標準モードの場合、このオプションはデフォルトでイネーブルです。

グレースケール画像へのトランスフォーメーションを ACE に指示する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# image grayscale
 

画像最適化をディセーブルにする場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no image grayscale
 

トランザクション ログ エントリのパラメータ サマリー値の設定

統計ログのトランザクション ログ エントリのパラメータ サマリーに含まれる各パラメータ値について、記録する最大バイト数を設定するには、パラメータ マップ最適化コンフィギュレーション モードで parameter-summary コマンドを使用します。

このコマンドのシンタックスは、次のとおりです。

parameter-summary parameter-value-limit bytes

bytes 引数では、統計ログのトランザクション ログ エントリのパラメータ サマリーに含まれる各パラメータ値について、記録する最大バイト数を設定します。パラメータ値がこの限度より長かった場合は、指定されたパラメータ限度まで切り詰められます。有効値は 0 ~ 10,000 バイトです。デフォルトは 100 バイトです。

パラメータ サマリー値として 5000 バイトを指定する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# parameter-summary parameter-value-limit 5000
 

パラメータ サマリー値をデフォルトの 100 バイトに戻す場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no parameter-summary parameter-value-limit

HTTP POST データの最大サイズの設定

HTTP POST は、非常に大容量(事実上、無制限)のデータを送信できます。極端な場合ですが、クライアントからサーバに処理させるデータ ストリームを送信し続けることも可能です。POST データを解析して点検するために、ACE はデータをメモリ バッファに格納する必要があります。

POST 処理を形成する標準 HTTP には 2 種類あります。この種類は、Content-Type ヘッダーの値で区別します。

application/x-www-form-urlencoded -- このタイプの POST は、あらゆる HTTP POST の大部分を占めます。これが Web ページ フォームの標準 POST です。

multipart/form-data -- このタイプの POST はあまり一般的ではありません。ブラウザ ユーザから Web サイトまたはアプリケーションに、ファイルをアップロードさせるのが主な用途です。たとえば、Web ベースの E メール プログラムを使用していて、送信する E メールにファイルを添付する場合、このタイプの POST を使用してファイルをアップロードします。このタイプの POST のもう 1 つの用途(さらに一般的ではない)は、バイナリ データの送信です(カスタム ブラウザ プラグインから、ブラウザではない HTTP クライアントからなど)。

統計ログにトランザクション パラメータを記録する目的で、パラメータをスキャンする POST データの最大キロバイト数を設定するには、パラメータ マップ最適化コンフィギュレーション モードで、 post-content-buffer-limit コマンドを使用します。

このコマンドのシンタックスは、次のとおりです。

post-content-buffer-limit value

value 引数では、POST データのバッファ サイズを指定します。有効値は 0 ~ 1000 KB です。デフォルトは 40 KB です。ACE は、この限度を超えたパラメータを記録しません。

バッファ サイズを 1000 KB に指定する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# post-content-buffer-limit 1000
 

デフォルトのバッファ サイズである 40 K に戻す場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no post-content-buffer-limit
 

サーバ ヘッダー ストリングの指定

HTTP 応答のサーバ ヘッダーで送信する、ユーザ指定のストリングを定義するには、パラメータ マップ最適化コンフィギュレーション モードで server-header コマンドを使用します。このコマンドを使用すると、特定のストリングをサーバ ヘッダー値として設定することによって、コンテキストまたは URL の match 文に一意のタグを付けることができます。サーバ ヘッダー ストリングは、特定の URL が正しいターゲット コンテキストまたは match 文に送信されない場合に使用できます。

コマンドのシンタックスは、次のとおりです。

server-header string

string 引数では、サーバ ヘッダーの特定のストリングを定義します。テキスト ストリングは、引用符で囲んで入力します。最大 64 の英数字を使用できます。

サーバ ヘッダーで送信するストリングを指定する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# server-header “Header from Admin Context”
 

サーバ ヘッダー ストリングを削除する場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no server-header
 

非 HTML ファイルの URL マッピングを可能にする方法

HTML ファイル以外の URL マッピングができるように ACE を設定するには、パラメータ マップ最適化モードで urlmap non-html コマンドを使用します。このコマンドは、非 HTML ファイルの URL をマッピングする場合に入力します。起点サーバとクライアント ブラウザ間で、データ ストリームの URL を変更する場合は、アクション リスト最適化モードで urlmap-scope コマンドを使用します。 urlmap-scope コマンドを使用する場合の詳細については、「最適化HTTP アクション リストの設定」を参照してください。


urlmap non-html コマンドを指定しないかぎり、URL の変更が適用されるのは HTML ファイルだけです。


コマンドのシンタックスは、次のとおりです。

urlmap non-html

非 HTML コンテンツへの URL マッピングの適用を指定する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# urlmap non-html
 

デフォルトのディセーブル状態に戻すには、次のように入力します。

host1/Admin(config-parammap-optmz)# no urlmap non-html
 

UTF-8 文字表示の制御

UTF-8(8-bit Unicode Transformation Format)は、Unicode に対応する可変長文字符号化です。UTF-8 文字セットは、Web ページに非 ASCII 文字または英語ではないマルチバイト文字を表示できるようにする国際規格です。Unicode 規格のあらゆるユニバーサル キャラクタを表示できます。また、ASCII との下位互換性があります。

UTF-8 検知を目的として、UTF-8 文字セット ページを形成する、ページ上の UTF-8 文字の数を決定するには、パラメータ マップ最適化コンフィギュレーション モードで utf8 threshold コマンドを使用します。このしきい値によって、マルチバイト UTF-8 文字セット ページの検知を調整します。

コマンドのシンタックスは、次のとおりです。

utf8 threshold value

value 引数では、UTF-8 文字セット ページを形成する、ページ上の UTF-8 文字の数を指定します。有効値は 1 ~ 1,000,000 文字です。デフォルトは 5 文字です。

ページ上の UTF-8 文字数の値として 1000 を指定する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# utf8 threshold 1000
 

UTF-8 のしきい値をディセーブルにする場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no utf8 threshold
 

XSLT の設定

ACE は、XML ソース ドキュメントに XSL スタイルシート トランスフォーメーションを適用し、生成された HTML ドキュメントを要求元に戻すことができます。ACE は XML のトランスフォーメーション後、結果を要求元に戻すまでの間に、その他の最適化を適用します。

XML ソース ドキュメント、対応する XSL スタイルシート、さらに XSL スタイルシートを適用した XML ドキュメントのトランスフォーメーション後に ACE によって戻される HTML ドキュメントの例を示します。

XML ドキュメント例の foo.xml は、次のとおりです。

<?xml version="1.0"?>
<doc>Hello</doc>
 

対応する XSL スタイルシート例の foo.xsl は、次のとおりです。

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="doc">
<out><xsl:value-of select="."/></out>
</xsl:template>
</xsl:stylesheet>
 

出力は次のような HTMLファイル、foo.html になります。

<out>Hello</out>

) XML ドキュメントのトランスフォーメーションをイネーブルにするには、アクション リスト最適化モードで xslt merge コマンドを使用します。詳細については、「最適化HTTP アクション リストの設定」を参照してください。


ここで扱うトピックは、次のとおりです。

XSLT マージ デバッグのイネーブル化

完全修飾 XSLT スタイルシートのパス指定

XSLT マージ デバッグのイネーブル化

XSLT マージ デバッグ機能をイネーブルにするには、パラメータ マップ最適化モードで xslt merge-debug コマンドを使用します。

コマンドのシンタックスは、次のとおりです。

xslt merge-debug

XSLT マージ デバッグ機能をイネーブルにする場合の入力例を示します。

host1/Admin(config-parammap-optmz)# xslt merge-debug
 

XSLT マージ デバッグ機能をディセーブルにする場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no xslt merge-debug

完全修飾 XSLT スタイルシートのパス指定

次の作業を行うには、パラメータ マップ最適化モードで xslt コマンドを使用します。

事前トランスフォーメーションを実行する XSLT スタイルシートの完全修飾パスを指定します。

XSLT マージを強制的に実行する XSLT スタイルシートの完全修飾パスを指定します。

コマンドのシンタックスは、次のとおりです。

xslt { pretransformer path | stylesheet path }

キーワードおよび引数は、次のとおりです。

pretransformer path -- XSLT スタイルシートの URL を指定し、スタイルシートの事前トランスフォーメーションを実行します。

stylesheet path -- XSLT スタイルシートの URL を指定します。XML ソース ファイルでどのような XSL が指定されていようと、このスタイルシートを強制的に使用させます。

XSLT スタイルシートの URL を指定し、そのスタイルシートの事前トランスフォーメーションを実行する場合の入力例を示します。

host1/Admin(config-parammap-optmz)# xslt pretransformer /var/www/htdocs/xsl/%{class}/%{style}.xsl
 

XSLT スタイルシートの URL およびスタイルシートの事前トランスフォーメーションをディセーブルにする場合は、次のように入力します。

host1/Admin(config-parammap-optmz)# no xslt pretransformer

次の作業

「HTTP 最適化に関する トラフィック ポリシーの設定」に進み、サーバ ロード バランシングおよびアプリケーション アクセラレーションについて、トラフィック ポリシーを設定します。