Nidificazione e incorporamento delle richieste

Image Serving supporta la nidificazione illimitata delle richieste di Image Server, l’incorporazione di richieste di Image Rendering e l’incorporazione di immagini recuperate da server stranieri. Solo le immagini di livello e le maschere di livello supportano questi meccanismi.

NOTA

Alcuni client e-mail e server proxy possono codificare le parentesi graffe utilizzate per la sintassi di nidificazione e incorporamento. Le applicazioni per le quali si tratta di un problema devono utilizzare parentesi al posto delle parentesi graffe.

Richieste Image Server nidificate

Un'intera richiesta di Image Server può essere utilizzata come origine di livello specificandola nel comando src= (o mask=) utilizzando la seguente sintassi:

…&src=is( nestedRequest)&…

Il token is fa distinzione tra maiuscole e minuscole.

La richiesta nidificata non deve includere il percorso principale del server (in genere http:// *[!DNL server]*/is/image/').

NOTA

I caratteri di delimitazione della richiesta nidificati ( '(',')') e i caratteri di delimitazione dei comandi ( '?', '&', '=') nelle richieste nidificate non devono essere codificati tramite HTTP. Di fatto, le richieste nidificate devono essere codificate come la richiesta esterna (nidificazione).

Le regole di preelaborazione vengono applicate alle richieste nidificate.

I seguenti comandi vengono ignorati quando specificati nelle richieste nidificate (nell’URL della richiesta o in catalog::Modifier o catalog::PostModifier):

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

Se l'immagine del risultato delle richieste nidificate include dati di maschera (alfa), viene passata al livello di incorporamento come maschera di livello.

Vengono inoltre ignorati attribute::MaxPixe attribute::DefaultPix del catalogo immagini applicato alla richiesta nidificata.

Il risultato immagine di una richiesta IS nidificata può essere memorizzato nella cache facoltativamente includendo cache=on. Per impostazione predefinita, la memorizzazione in cache dei dati intermedi è disabilitata. La memorizzazione in cache deve essere abilitata solo quando ci si aspetta che l'immagine intermedia venga riutilizzata in una richiesta diversa entro un periodo di tempo ragionevole. Si applica la gestione standard della cache lato server. I dati vengono memorizzati nella cache in un formato senza perdita di dati.

Richieste di rendering immagini incorporate

Quando Dynamic Media Image Rendering è abilitato sul server, le richieste di rendering possono essere utilizzate come sorgenti di livello specificandole nel comando src= (o mask=). Utilizza la sintassi seguente:

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

Il token ir fa distinzione tra maiuscole e minuscole.

renderRequest è la consueta richiesta di Image Rendering, escluso il percorso principale HTTP http:// *[!DNL server]*/ir/render/.

NOTA

I caratteri di delimitazione della richiesta nidificati ( '(',')') e i caratteri di delimitazione dei comandi ( '?', '&', '=') nelle richieste nidificate non devono essere codificati tramite HTTP. Di fatto, le richieste incorporate devono essere codificate come la richiesta esterna (incorporazione).

I seguenti comandi Image Rendering vengono ignorati quando specificati nelle richieste nidificate:

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

Vengono inoltre ignorati attribute::MaxPix e attribute::DefaultPix del catalogo dei materiali applicabile alla richiesta di rendering nidificata.

Il risultato immagine di una richiesta IR nidificata può essere memorizzato nella cache facoltativamente includendo cache=on. Per impostazione predefinita, la memorizzazione in cache dei dati intermedi è disabilitata. La memorizzazione in cache deve essere abilitata solo quando ci si aspetta che l'immagine intermedia venga riutilizzata in una richiesta diversa entro un periodo di tempo ragionevole. Si applica la gestione standard della cache lato server. I dati vengono memorizzati nella cache in un formato senza perdita di dati.

Richieste di rendering FXG incorporate

Quando il renderer grafico FXG (aka AGMServer) è installato e abilitato con Image Serving, le richieste FXG possono essere utilizzate come sorgenti di livello specificandole nei comandi src= (o mask=). Utilizza la sintassi seguente:

…&src=fxg( renderRequest)&…

Il token fxg fa distinzione tra maiuscole e minuscole.

NOTA

Il rendering grafico FXG è disponibile solo nell’ambiente ospitato da Dynamic Media e può richiedere licenze aggiuntive. Per ulteriori informazioni, contatta il supporto tecnico Dynamic Media.

renderRequest è la normale richiesta di rendering FXG, escludendo il percorso principale HTTP http:// *[!DNL server]*/agm/render/.

NOTA

I caratteri di delimitazione ( '(',')') e i caratteri di delimitazione dei comandi ( '?', '&', '=') nelle richieste nidificate non devono essere codificati tramite HTTP. Di fatto, le richieste incorporate devono essere codificate come la richiesta esterna (incorporazione).

I seguenti comandi FXG vengono ignorati quando specificati nelle richieste nidificate:

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

Origini immagine esterne

Image Server supporta l'accesso alle immagini sorgente su server HTTP esterni.

NOTA

Per gli URL remoti è supportato solo il protocollo HTTP.

Per specificare un URL esterno per un comando src= o mask= , delimita l’URL esterno o il frammento dell’URL con parentesi:

…&src=( foreignUrl)&…

Importante I caratteri di delimitazione ( '(',')') e i caratteri di delimitazione dei comandi ( '?', '&', '=') nelle richieste nidificate non devono essere codificati in HTTP. Di fatto, le richieste incorporate devono essere codificate come la richiesta esterna (incorporazione).

Sono consentiti gli URL completi assoluti (se è impostato attribute::AllowDirectUrls) e gli URL relativi a attribute::RootUrl . Si verifica un errore se un URL assoluto è incorporato e attributo: AllowDirectUrls è 0 oppure se è specificato un URL relativo e attribute::RootUrl è vuoto.

Sebbene gli URL stranieri non possano essere specificati direttamente nel componente percorso dell’URL di richiesta, è possibile impostare una regola di preelaborazione per consentire la conversione di percorsi relativi a URL assoluti (vedi l’esempio seguente).

Le immagini esterne vengono memorizzate nella cache dal server in base alle intestazioni di memorizzazione nella cache incluse nella risposta HTTP. Se non è presente né un'intestazione di risposta HTTP ETag né un'intestazione di risposta HTTP Last-Modified, la risposta non viene memorizzata nella cache. Questo può causare prestazioni scadenti per gli accessi ripetuti per la stessa immagine esterna, in quanto Image Serving deve recuperare e riconvalidare l'immagine a ogni accesso.

Questo meccanismo supporta gli stessi formati di file immagine supportati dall'utility Image Convert (IC), ad eccezione delle immagini sorgente con 16 bit per componente.

NOTA

Image Serving eseguirà automaticamente l'utilità validate quando viene utilizzata per la prima volta un'immagine esterna, per assicurarsi che l'immagine sia valida e non sia stata danneggiata durante la trasmissione. Ciò può causare un leggero ritardo nel primo accesso. Per ottenere le migliori prestazioni, si consiglia di limitare le dimensioni di tali immagini e/o di utilizzare un formato di file immagine che comprime bene.

Restrizioni

Le dimensioni dell’immagine generata dalle richieste nidificate/incorporate vengono normalmente ottimizzate automaticamente. Se è abilitato il caching delle immagini di richiesta nidificate, è possibile ottenere incrementi di prestazioni incrementali specificando la dimensione esatta dell’immagine nidificata, in modo che non sia necessario alcun ulteriore ridimensionamento quando viene riutilizzata la voce di cache.

Il server di immagini importante non supporta la doppia codifica delle richieste nidificate o incorporate. Le richieste nidificate e incorporate devono essere codificate tramite HTTP come le semplici richieste.

Esempi

Modello a livelli con memorizzazione in cache:

Utilizzare la nidificazione per aggiungere la memorizzazione in cache a un modello di livelli. Un numero limitato di immagini di sfondo viene sovrapposto a testo altamente variabile. La stringa del modello iniziale potrebbe essere simile alla seguente:

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

Con lievi modifiche, possiamo pre-scalare l'immagine del livello 0 e memorizzarla in cache in modo persistente, riducendo così il carico del server:

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

Incorporazione di richieste per il rendering delle immagini di Dynamic Media

Utilizzo di un modello memorizzato in myCatalog/myTemplate; genera l’immagine per il livello2 del modello utilizzando 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

Notare le parentesi graffe nidificate. La richiesta Image Rendering incorpora una chiamata a Image Serving per recuperare una texture ripetibile.

Consultate anche

src= , mask=, Richiedi preProcessing, Riferimento per il rendering delle immagini, Modelli, Utilità di Image Serving

In questa pagina

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now