ネストと埋め込みのリクエスト request-nesting-and-embedding
画像サービングは、画像サービングリクエストの無制限のネスト、画像レンダリングリクエストの埋め込み、および外部サーバーから取得した画像の埋め込みをサポートします。 これらのメカニズムをサポートするのは、レイヤーイメージとレイヤーマスクのみです。
ネストされた画像サービングリクエスト section-6954202119e0466f8ff27c79f4f039c8
次の構文を使用して、src=
(または mask=
)コマンドで画像サービングリクエスト全体を指定することで、それをレイヤーソースとして使用できます。
…&src=is( nestedRequest)&…
is
トークンでは大文字と小文字が区別されます。
ネストされたリクエストにサーバーのルートパス(通常は http:// *server*/is/image/'
)を含めることはできません。
'(',')'
)およびコマンド区切り文字('?'
、'&'
、'='
)は、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*)&…
ir
トークンでは大文字と小文字が区別されます。
renderRequest は、HTTP ルートパスの http:// *server*/ir/render/
を除く、通常の画像レンダリングリクエストです。
'(',')'
)およびコマンド区切り文字('?'
、'&'
、'='
)は、HTTP エンコードしてはいけません。 事実上、埋め込みリクエストは、外側の(埋め込み)リクエストと同じようにエンコードする必要があります。次の画像レンダリングコマンドは、ネストされたリクエストで指定された場合、無視されます。
fmt=
qlt=
icc=
iccEmbed=
printRes=
req=
また、ネストされたレンダリング要求に適用されるマテリアル カタログの attribute::MaxPix
と attribute::DefaultPix
も無視されます。
ネストされた IR 要求のイメージ結果は、cache=on
を含めることでオプションでキャッシュできます。 デフォルトでは、中間データのキャッシュは無効になっています。 キャッシュは、適切な期間内に別のリクエストで中間イメージを再利用することが期待される場合にのみ有効にしてください。 標準のサーバーサイドキャッシュ管理が適用されます。 データは、可逆形式でキャッシュされます。
埋め込み FXG レンダーリクエスト section-c817e4b4f7da414ea5a51252ca7e120a
FXG グラフィックレンダラー(AGMServer)がインストールされ、画像サービングで有効になっている場合、src=
(または mask=
)コマンドで指定することで、FXG リクエストをレイヤーソースとして使用できます。 次の構文を使用します。
…&src=fxg( renderRequest)&…
fxg
トークンでは大文字と小文字が区別されます。
renderRequest は、HTTP ルートパスの http:// *server*/agm/render/
を除く、通常の FXG レンダーリクエストです。
'(',')'
)とコマンド区切り文字('?'
、'&'
、'='
)は、HTTP エンコードしてはいけません。 事実上、埋め込みリクエストは、外側の(埋め込み)リクエストと同じようにエンコードする必要があります。次の FXG コマンドは、ネストされたリクエストで指定された場合、無視されます。
fmt=
qlt=
icc=
iccEmbed=
cache=
外部画像ソース section-84e83ecfcd1a43748cdfc7a6f8c04cb8
画像サービングは、外部 HTTP サーバー上のソース画像へのアクセスをサポートします。
src=
または mask=
コマンドに外部 URL を指定するには、外部 URL または URL フラグメントを括弧で区切ります。
…&src=( foreignUrl)&…
重要ネストされたリクエスト内の区切り文字('(',')'
)とコマンド区切り文字('?'
、'&'
、'='
)は、HTTP エンコードしないでください。 事実上、埋め込みリクエストは、外側の(埋め込み)リクエストと同じようにエンコードする必要があります。
完全な絶対 URL (attribute::AllowDirectUrls
が設定されている場合)、および attribute::RootUrl
に関連する URL が許可されています。 絶対 URL が埋め込まれ、属性:AllowDirectUrls
が 0 の場合、または相対 URL が指定され、attribute::RootUrl
が空の場合は、エラーが発生します。
外部 URL はリクエスト URL のパスコンポーネントで直接指定することはできませんが、相対パスを絶対 URL に変換することを許可する前処理ルールを設定することは可能です(以下の例を参照)。
外部画像は、HTTP 応答に含まれるキャッシュヘッダーに従ってサーバーによってキャッシュされます。 ETag
応答ヘッダーも Last-Modified HTTP 応答ヘッダーも存在しない場合、応答はキャッシュされません。 これにより、同じ外部画像に対する繰り返しアクセスでは、パフォーマンスが低下する可能性があります。画像サービングでは、アクセスのたびに画像を再取得して再検証する必要があるからです。
このメカニズムは、コンポーネントあたり 16 ビットのソース画像を除き、画像変換(IC)ユーティリティでサポートされているのと同じ画像ファイル形式をサポートします。
制限 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画像レンダリングのリクエストの埋め込み
myCatalog/myTemplate に保存されているテンプレートを使用します。Dynamic Media画像レンダリングを使用して、テンプレートのレイヤー 2 の画像を生成します。
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、画像レンダリングリファレンス、Templates、 画像サービングユーティリティ