Verschachtelung und Einbettung von Anforderungen

Image Serving unterstützt das unbegrenzte Verschachteln von Image Serving-Anforderungen, das Einbetten von Image Rendering-Anforderungen sowie das Einbetten von Bildern, die von ausländischen Servern abgerufen werden. Diese Mechanismen werden nur von Ebenenbildern und Ebenenmasken unterstützt.

HINWEIS

Bestimmte E-Mail-Clients und Proxyserver können die geschweiften Klammern für die Verschachtelungs- und Einbettungssyntax kodieren. Anwendungen, bei denen dies ein Problem ist, sollten Klammern anstelle geschweifter Klammern verwenden.

Verschachtelte Image Serving-Anforderungen

Eine gesamte Image Serving-Anforderung kann als Ebenenquelle verwendet werden, indem sie sie mit der folgenden Syntax im Befehl src= (oder mask=) angibt:

…&src=is( nestedRequest)&…

Beim Token is wird die Groß-/Kleinschreibung beachtet.

Die verschachtelte Anforderung darf nicht den Serverstammpfad enthalten (normalerweise http:// *[!DNL server]*/is/image/').

HINWEIS

Die verschachtelten Anforderungstrennzeichen ( '(',')') und die Befehlstrennzeichen ( '?', '&', '=') in verschachtelten Anforderungen dürfen nicht HTTP-kodiert sein. Verschachtelte Anforderungen müssen genauso wie die äußere (Verschachtelungs-) Anforderung kodiert werden.

Vorverarbeitungsregeln werden auf verschachtelte Anforderungen angewendet.

Die folgenden Befehle werden ignoriert, wenn sie in verschachtelten Anforderungen angegeben werden (entweder in der Anforderungs-URL oder in catalog::Modifier oder catalog::PostModifier):

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

Wenn das Ergebnisbild der verschachtelten Anforderungen Maskendaten (Alpha) enthält, wird es als Ebenenmaske an die Einbettungsebene übergeben.

Auch werden die Zeichen attribute::MaxPixund attribute::DefaultPix des Bildkatalogs ignoriert, die für die verschachtelte Anforderung gelten.

Das Bildergebnis einer verschachtelten IS-Anforderung kann optional zwischengespeichert werden, indem cache=on eingeschlossen wird. Standardmäßig ist die Zwischenspeicherung von Zwischendaten deaktiviert. Die Zwischenspeicherung sollte nur aktiviert werden, wenn erwartet wird, dass das Zwischenbild in einer anderen Anforderung innerhalb eines angemessenen Zeitraums wiederverwendet wird. Es gilt die standardmäßige serverseitige Cacheverwaltung. Die Daten werden im verlustfreien Format zwischengespeichert.

Eingebettete Image Render-Anforderungen

Wenn Dynamic Media Image Rendering auf dem Server aktiviert ist, können Renderanforderungen als Ebenenquellen verwendet werden, indem sie im Befehl src= (oder mask=) angegeben werden. Verwenden Sie die folgende Syntax:

…&src=ir( *[!DNL renderRequest]*)&…

Beim Token ir wird die Groß-/Kleinschreibung beachtet.

renderRequest ist die übliche Image Rendering-Anforderung, mit Ausnahme des HTTP-Stammpfads http:// *[!DNL server]*/ir/render/.

HINWEIS

Die verschachtelten Anforderungstrennzeichen ( '(',')') und die Befehlstrennzeichen ( '?', '&', '=') in verschachtelten Anforderungen dürfen nicht HTTP-kodiert sein. Eingebettete Anforderungen müssen genauso kodiert sein wie die äußere (Einbettungsanforderung).

Die folgenden Bildwiedergabebefehle werden ignoriert, wenn sie in verschachtelten Anforderungen angegeben werden:

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

Auch werden die Elemente attribute::MaxPix und attribute::DefaultPix des Materialkatalogs ignoriert, die für die verschachtelte Render-Anforderung gelten.

Das Bildergebnis einer verschachtelten IR-Anforderung kann optional mit cache=on zwischengespeichert werden. Standardmäßig ist die Zwischenspeicherung von Zwischendaten deaktiviert. Die Zwischenspeicherung sollte nur aktiviert werden, wenn erwartet wird, dass das Zwischenbild in einer anderen Anforderung innerhalb eines angemessenen Zeitraums wiederverwendet wird. Es gilt die standardmäßige serverseitige Cacheverwaltung. Die Daten werden im verlustfreien Format zwischengespeichert.

Eingebettete FXG-Renderanforderungen

Wenn der FXG-Grafik-Renderer (auch AGMServer) installiert und mit Image Serving aktiviert ist, können FXG-Anforderungen als Ebenenquellen verwendet werden, indem sie in den Befehlen src= (oder mask=) angegeben werden. Verwenden Sie die folgende Syntax:

…&src=fxg( renderRequest)&…

Beim Token fxg wird die Groß-/Kleinschreibung beachtet.

HINWEIS

Das Rendering von FXG-Grafiken ist nur in der von Dynamic Media gehosteten Umgebung verfügbar und erfordert möglicherweise zusätzliche Lizenzen. Weitere Informationen erhalten Sie beim technischen Support von Dynamic Media.

renderRequest ist die übliche FXG-Renderanforderung, mit Ausnahme des HTTP-Stammpfads http:// *[!DNL server]*/agm/render/.

HINWEIS

Die Trennzeichen ( '(',')') und die Befehlstrennzeichen ( '?', '&', '=') in verschachtelten Anforderungen dürfen nicht HTTP-kodiert sein. Eingebettete Anforderungen müssen genauso kodiert sein wie die äußere (Einbettungsanforderung).

Die folgenden FXG-Befehle werden ignoriert, wenn sie in verschachtelten Anforderungen angegeben werden:

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

Ausländische Bildquellen

Image Serving unterstützt den Zugriff auf Quellbilder auf ausländischen HTTP-Servern.

HINWEIS

Für Remote-URLs wird nur das HTTP-Protokoll unterstützt.

Um eine ausländische URL für einen Befehl src= oder mask= anzugeben, trennen Sie die ausländische URL oder das URL-Fragment in Klammern:

…&src=( foreignUrl)&…

Wichtig: Die Trennzeichen ( '(',')') und die Befehlstrennzeichen ( '?', '&', '=') in verschachtelten Anforderungen dürfen nicht HTTP-kodiert sein. Eingebettete Anforderungen müssen genauso kodiert sein wie die äußere (Einbettungsanforderung).

Vollständige absolute URLs (wenn attribute::AllowDirectUrls eingestellt ist) und URLs relativ zu attribute::RootUrl sind zulässig. Ein Fehler tritt auf, wenn eine absolute URL eingebettet und ein Attribut: AllowDirectUrls ist 0, oder wenn eine relative URL angegeben ist und attribute::RootUrl leer ist.

Wenngleich ausländische URLs nicht direkt in der Pfadkomponente der Anforderungs-URL angegeben werden können, ist es möglich, eine Vorverarbeitungsregel einzurichten, um die Konvertierung relativer Pfade in absolute URLs zu ermöglichen (siehe Beispiel unten).

Ausländische Bilder werden vom Server gemäß den in der HTTP-Antwort enthaltenen Cache-Headern zwischengespeichert. Wenn weder ein ETag noch ein Last-Modified HTTP-Antwort-Header vorhanden ist, wird die Antwort nicht zwischengespeichert. Dies kann zu einer schlechten Leistung bei Wiederholungszugriffen für dasselbe fremde Bild führen, da Image Serving das Bild bei jedem Zugriff neu abrufen und überprüfen muss.

Dieser Mechanismus unterstützt dieselben Bilddateiformate, die vom Dienstprogramm "Bildkonvertierung"(IC) unterstützt werden, mit Ausnahme von Quellbildern mit 16 Bit pro Komponente.

HINWEIS

Image Serving führt automatisch das Überprüfungsprogramm aus, wenn ein fremdes Bild zum ersten Mal verwendet wird, um sicherzustellen, dass das Bild gültig ist und während der Übertragung nicht beschädigt wurde. Dies kann beim ersten Zugriff zu einer leichten Verzögerung führen. Für eine optimale Leistung wird empfohlen, die Größe solcher Bilder zu begrenzen und/oder ein Bilddateiformat zu verwenden, das gut komprimiert wird.

Einschränkungen

Die Größe des Bildes, das durch verschachtelte/eingebettete Anforderungen generiert wurde, wird normalerweise automatisch optimiert. Wenn die Zwischenspeicherung von verschachtelten Anforderungsbildern aktiviert ist, können durch Angabe der exakten Größe des verschachtelten Bildes inkrementelle Leistungssteigerungen erzielt werden, sodass bei der Wiederverwendung des Cache-Eintrags keine weitere Skalierung erforderlich ist.

Beim wichtigen Image-Server wird die Dublette von verschachtelten oder eingebetteten Anforderungen nicht unterstützt. Verschachtelte und eingebettete Anforderungen müssen wie einfache Anforderungen HTTP-kodiert sein.

Beispiele

Ebenenvorlage mit Zwischenspeicherung:

Verwenden Sie die Verschachtelung, um einer Ebenenvorlage die Zwischenspeicherung hinzuzufügen. Eine begrenzte Anzahl von Hintergrundbildern wird mit stark variablem Text überlagert. Die anfängliche Vorlagenzeichenfolge könnte wie folgt aussehen:

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

Mit leichten Änderungen können Sie das Bild der Ebene 0 vorskalieren und dauerhaft zwischenspeichern, um so die Serverlast zu reduzieren:

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

Einbetten von Anforderungen für Dynamic Media Image Rendering

Verwenden einer in myCatalog/myTemplate gespeicherten Vorlage; Generieren des Bilds für "layer2"der Vorlage mit Dynamic Media Image Rendering:

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

Beachten Sie die geschachtelten geschachtelten geschweiften Klammern. Die Image Rendering-Anforderung bettet einen Aufruf an Image Serving ein, um eine wiederholbare Textur abzurufen.

Verwandte Themen

src= , mask=, Request PreProcessing, Image Rendering Reference, Templates, Image Serving Utilities

Auf dieser Seite

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free