リクエストのネストと埋め込み request-nesting-and-embedding

画像サービングは、画像サービング要求の無制限のネスト、画像レンダリング要求の埋め込み、外部サーバーから取得した画像の埋め込みをサポートします。 これらのメカニズムをサポートするのは、レイヤー画像とレイヤーマスクのみです。

NOTE
特定の電子メールクライアントやプロキシサーバーでは、ネストや埋め込みの構文に使用する波括弧がエンコードされる場合があります。 これが問題となるアプリケーションでは、中括弧の代わりに括弧を使用する必要があります。

ネストされた画像サービング要求 section-6954202119e0466f8ff27c79f4f039c8

画像サービング要求全体をレイヤーソースとして使用するには、 src= ( または mask=) コマンドを使用して、次の構文を使用します。

…&src=is( nestedRequest)&…

The is トークンでは大文字と小文字が区別されます。

ネストされたリクエストには、サーバーのルートパスを含めないでください ( 通常は http:// *server*/is/image/') をクリックします。

NOTE
ネストされた要求区切り文字 ( '(',')') およびコマンド区切り文字 ( '?', '&', '=') を入れ子にしたリクエスト内では、HTTP エンコードしないでください。 事実上、ネストされたリクエストは、外側の(ネストされた)リクエストと同じようにエンコードする必要があります。

前処理ルールは、ネストされたリクエストに適用されます。

ネストされたリクエストで(リクエスト URL またはで)指定された場合、次のコマンドは無視されます。 catalog::Modifier または catalog::PostModifier):

  • fmt=
  • qlt=
  • iccEmbed=
  • printRes=
  • quantize=
  • req=
  • bgc=

ネストされた要求の結果イメージにマスク(アルファ)データが含まれる場合、埋め込みレイヤーにレイヤーマスクとして渡されます。

また、無視されます attribute::MaxPixおよび attribute::DefaultPix ネストされた要求に適用する画像カタログの。

ネストされた IS リクエストのイメージ結果は、オプションで cache=on. デフォルトでは、中間データのキャッシュは無効になっています。 キャッシュは、中間イメージが別のリクエストで妥当な期間内に再利用されると予想される場合にのみ有効にする必要があります。 標準のサーバー側キャッシュ管理が適用されます。 データはロスレス形式でキャッシュされます。

埋め込み画像レンダリング要求 section-69c5548db930412b9b90d9b2951a6969

サーバでDynamic Mediaの画像レンダリングが有効になっている場合、src=(または mask=)コマンドで指定することで、レンダリング要求をレイヤーソースとして使用できます。 次の構文を使用します。

…&src=ir( *renderRequest*)&…

The ir トークンでは大文字と小文字が区別されます。

renderRequest は、通常の画像レンダリングリクエストです(HTTP ルートパスを除く)。 http:// *server*/ir/render/.

NOTE
ネストされた要求区切り文字 ( '(',')') およびコマンド区切り文字 ( '?', '&', '=') を入れ子にしたリクエスト内では、HTTP エンコードしないでください。 実際には、埋め込まれたリクエストは、外部(埋め込み)リクエストと同じようにエンコードする必要があります。

ネストされた要求で指定した場合、次の画像レンダリングコマンドは無視されます。

  • fmt=
  • qlt=
  • icc=
  • iccEmbed=
  • printRes=
  • req=

また、無視されます attribute::MaxPix および attribute::DefaultPix ネストされたレンダリング要求に適用されるマテリアルカタログの。

ネストされた IR 要求の画像結果は、オプションで cache=on. デフォルトでは、中間データのキャッシュは無効になっています。 キャッシュは、中間イメージが別のリクエストで妥当な期間内に再利用されると予想される場合にのみ有効にする必要があります。 標準のサーバー側キャッシュ管理が適用されます。 データはロスレス形式でキャッシュされます。

埋め込み FXG レンダリング要求 section-c817e4b4f7da414ea5a51252ca7e120a

FXG グラフィックスレンダラー ( AGMServer) がインストールされ、画像サービングで有効になっている場合、FXG 要求は、 src= ( または mask=) コマンドを使用します。 次の構文を使用します。

…&src=fxg( renderRequest)&…

The fxg トークンでは大文字と小文字が区別されます。

NOTE
FXG グラフィックスレンダリングは、Dynamic Mediaでホストされている環境でのみ使用でき、追加のライセンスが必要な場合があります。 詳しくは、Dynamic Mediaテクニカルサポートにお問い合わせください。

renderRequest は通常の FXG レンダリング要求です(HTTP ルートパスを除く)。 http:// *server*/agm/render/.

NOTE
区切り文字 ( '(',')') およびコマンド区切り文字 ( '?', '&', '=') を入れ子にしたリクエスト内では、HTTP エンコードしないでください。 実際には、埋め込まれたリクエストは、外部(埋め込み)リクエストと同じようにエンコードする必要があります。

ネストされた要求で指定した場合、次の FXG コマンドは無視されます。

  • fmt=
  • qlt=
  • icc=
  • iccEmbed=
  • cache=

外部画像ソース section-84e83ecfcd1a43748cdfc7a6f8c04cb8

画像サービングは、外部 HTTP サーバー上のソース画像へのアクセスをサポートします。

NOTE
リモート URL では、HTTP プロトコルのみがサポートされています。

の外部 URL を指定するには src= または mask= 」コマンドを使用する場合は、外部 URL または URL フラグメントを括弧で区切ります。

…&src=( foreignUrl)&…

重要区切り文字 ( '(',')') およびコマンド区切り文字 ( '?', '&', '=') を入れ子にしたリクエスト内では、HTTP エンコードしないでください。 実際には、埋め込まれたリクエストは、外部(埋め込み)リクエストと同じようにエンコードする必要があります。

完全な絶対 URL ( attribute::AllowDirectUrls が設定されている )、およびを基準とした相対 URL attribute::RootUrl は許可されています。 絶対 URL が埋め込まれ、次の属性が含まれている場合は、エラーが発生します。 AllowDirectUrls が 0 の場合、または相対 URL が指定されている場合は attribute::RootUrl が空である。

リクエスト URL のパスコンポーネントで外部 URL を直接指定することはできませんが、相対パスを絶対 URL に変換できるように前処理ルールを設定することができます(以下の例を参照)。

外部画像は、HTTP 応答に含まれるキャッシュヘッダーに従って、サーバーによってキャッシュされます。 もし ETag また、Last-Modified HTTP 応答ヘッダーも存在しない場合、応答はキャッシュされません。 同じ外部画像に対する繰り返しアクセスのパフォーマンスが低下する可能性があります。画像サービングでは、アクセスのたびに画像を再取得して再検証する必要があるからです。

このメカニズムは、コンポーネントあたり 16 ビットのソース画像を除き、画像変換 (IC) ユーティリティでサポートされるのと同じ画像ファイル形式をサポートします。

NOTE
画像サービングは、外部画像が最初に使用されたときに検証ユーティリティを自動的に実行し、画像が有効で、送信時に破損していないことを確認します。 これにより、最初のアクセスで若干の遅延が生じる場合があります。 最高のパフォーマンスを得るには、このような画像のサイズを制限するか、適切に圧縮された画像ファイル形式を使用することをお勧めします。

制限事項 section-fb68e3f0d40947feb94d7bf183b64929

ネストされた要求や埋め込み要求で生成される画像のサイズは、通常は自動的に最適化されます。 ネストされた要求画像のキャッシュが有効な場合、ネストされた画像の正確なサイズを指定することで、パフォーマンスの向上が増加する可能性があるので、キャッシュエントリを再利用する際にさらに拡大縮小する必要がありません。

重要な画像サービングは、ネストされた要求や埋め込まれた要求の二重エンコードをサポートしていません。 ネストされたリクエストと埋め込まれたリクエストは、単純なリクエストと同様に HTTP エンコードする必要があります。

section-d800cfc31abe46d2a964f8e7929231f1

キャッシュを使用したレイヤーテンプレート:

ネストを使用して、レイヤーテンプレートにキャッシュを追加します。 限られた数の背景画像が、高変数のテキストでオーバーレイされます。 最初のテンプレート文字列は次のようになります。

layer=0&src=$img$&size=300,300&layer=1&text=$txt$

少し変更を加えることで、レイヤー 0 画像を事前に拡大し、永続的にキャッシュすることで、サーバーの負荷を減らすことができます。

layer=0&src=is(?src=$img$&size=300,300&cache=on)&layer=1&text=$txt$

Dynamic Media Image Rendering のリクエストの埋め込み

に保存されたテンプレートの使用 myCatalog/myTemplate; Dynamic Media Image Rendering を使用して、テンプレートの layer2 の画像を生成します。

http://server/is/image/myCatalog/myTemplate?layer=2&src=ir(myRenderCatalog/myRenderObject?id=myIdValue&sel=group&src=is(myCatalog/myTexture1?res=30)&res=30)&wid=300

入れ子の中括弧に注意してください。 画像レンダリングリクエストに、繰り返し可能なテクスチャを取得するための画像サービングへの呼び出しが埋め込まれます。

関連項目 section-109a0a9a3b144158958351139c8b8e69

src= , mask=, Request PreProcessing,画像レンダリング参照, テンプレート, 画像サービングユーティリティ

recommendation-more-help
a26166cd-f2f4-45ce-996d-96a0f0d6cf49