Solicitar aninhamento e incorporação

O Serviço de imagens oferece suporte ao aninhamento ilimitado de solicitações do Serviço de imagens, à incorporação de solicitações de Renderização de imagens, bem como à incorporação de imagens recuperadas de servidores estrangeiros. Somente imagens de camada e máscaras de camada suportam esses mecanismos.

OBSERVAÇÃO

Determinados clientes de email e servidores proxy podem codificar as chaves usadas para a sintaxe de aninhamento e incorporação. Os aplicativos para os quais isso é um problema devem usar parênteses em vez de chaves.

Solicitações aninhadas do serviço de imagem

Uma solicitação de Serviço de imagem inteira pode ser usada como uma fonte de camada, especificando-a no comando src= (ou mask=) usando a seguinte sintaxe:

…&src=is( nestedRequest)&…

O token is faz distinção entre maiúsculas e minúsculas.

A solicitação aninhada não deve incluir o caminho raiz do servidor (normalmente http:// *[!DNL server]*/is/image/').

OBSERVAÇÃO

Os caracteres delimitadores de solicitação aninhados ( '(',')') e os caracteres delimitadores de comando ( '?', '&', '=') nas solicitações aninhadas não devem ser codificados por HTTP. Efetivamente, as solicitações aninhadas devem ser codificadas da mesma forma que a solicitação externa (aninhamento).

As regras de pré-processamento são aplicadas a solicitações aninhadas.

Os seguintes comandos são ignorados quando especificados em solicitações aninhadas (no URL da solicitação ou em catalog::Modifier ou catalog::PostModifier):

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

Se a imagem resultante das solicitações aninhadas incluir dados de máscara (alfa), ela será passada para a camada de incorporação como máscara de camada.

Também são ignorados attribute::MaxPixe attribute::DefaultPix do catálogo de imagens que se aplica à solicitação aninhada.

O resultado da imagem de uma solicitação IS aninhada pode ser armazenado em cache opcionalmente, incluindo cache=on. Por padrão, o cache de dados intermediários é desativado. O armazenamento em cache só deve ser ativado quando se espera que a imagem intermediária seja reutilizada em uma solicitação diferente dentro de um período de tempo razoável. O gerenciamento padrão de cache do lado do servidor se aplica. Os dados são armazenados em cache em um formato sem perdas.

Solicitações de renderização de imagem incorporadas

Quando a Renderização de imagem do Scene7 está ativada no servidor, as solicitações de renderização podem ser usadas como fontes de camada, especificando-as no comando src= (ou mask=). Use a seguinte sintaxe:

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

O token ir faz distinção entre maiúsculas e minúsculas.

renderRequest é a solicitação comum de renderização de imagem, excluindo o caminho raiz HTTP http:// *[!DNL server]*/ir/render/.

OBSERVAÇÃO

Os caracteres delimitadores de solicitação aninhados ( '(',')') e os caracteres delimitadores de comando ( '?', '&', '=') nas solicitações aninhadas não devem ser codificados por HTTP. Efetivamente, as solicitações incorporadas devem ser codificadas da mesma forma que a solicitação externa (incorporação).

Os seguintes comandos de Renderização de imagem são ignorados quando especificados em solicitações aninhadas:

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

Também são ignorados attribute::MaxPix e attribute::DefaultPix do catálogo de materiais que se aplica à solicitação de renderização aninhada.

O resultado da imagem de uma solicitação IR aninhada pode ser armazenado em cache opcionalmente, incluindo cache=on. Por padrão, o cache de dados intermediários é desativado. O armazenamento em cache só deve ser ativado quando se espera que a imagem intermediária seja reutilizada em uma solicitação diferente dentro de um período de tempo razoável. O gerenciamento padrão de cache do lado do servidor se aplica. Os dados são armazenados em cache em um formato sem perdas.

Solicitações de renderização FXG incorporadas

Quando o renderizador de gráficos FXG (também conhecido como AGMServer) é instalado e ativado com o Serviço de Imagens, as solicitações FXG podem ser usadas como fontes de camada especificando-as nos comandos src= (ou mask=). Use a seguinte sintaxe:

…&src=fxg( renderRequest)&…

O token fxg faz distinção entre maiúsculas e minúsculas.

OBSERVAÇÃO

A renderização de gráficos FXG está disponível somente no ambiente hospedado da Scene7 e pode exigir licenciamento adicional. Entre em contato com o Suporte da Scene7 para obter mais informações.

renderRequest é a solicitação de renderização FXG comum, excluindo o caminho raiz HTTP http:// *[!DNL server]*/agm/render/.

OBSERVAÇÃO

Os caracteres delimitadores ( '(',')') e os caracteres delimitadores de comando ( '?', '&', '=') nas solicitações aninhadas não devem ser codificados por HTTP. Efetivamente, as solicitações incorporadas devem ser codificadas da mesma forma que a solicitação externa (incorporação).

Os seguintes comandos FXG são ignorados quando especificados em solicitações aninhadas:

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

Fontes de imagem externas

O Serviço de imagens oferece suporte ao acesso a imagens de origem em servidores HTTP externos.

OBSERVAÇÃO

Somente o protocolo HTTP é compatível com URLs remotos.

Para especificar um URL externo para um comando src= ou mask=, delimite o fragmento de URL ou URL externo com parênteses:

…&src=( foreignUrl)&…

Importante Os caracteres delimitadores ( '(',')') e os caracteres delimitadores de comando ( '?', '&', '=') nas solicitações aninhadas não devem ser codificados por HTTP. Efetivamente, as solicitações incorporadas devem ser codificadas da mesma forma que a solicitação externa (incorporação).

URLs absolutos completos (se attribute::AllowDirectUrls estiver definido) e URLs relativos a attribute::RootUrl serão permitidos. Ocorre um erro se um URL absoluto for incorporado e o atributo: AllowDirectUrls é 0, ou se um URL relativo é especificado e attribute::RootUrl está vazio.

Embora URLs externos não possam ser especificados diretamente no componente de caminho do URL da solicitação, é possível configurar uma regra de pré-processamento para permitir a conversão de caminhos relativos em URLs absolutos (consulte o exemplo abaixo).

As imagens estrangeiras são armazenadas em cache pelo servidor de acordo com os cabeçalhos de cache incluídos na resposta HTTP. Se nenhum cabeçalho de resposta HTTP ETag ou Last-Modifid estiver presente, a resposta não será armazenada em cache. Isso pode causar um desempenho ruim para acessos repetidos para a mesma imagem externa, já que o Serviço de imagem precisa buscar novamente e revalidar a imagem em cada acesso.

Este mecanismo suporta os mesmos formatos de arquivo de imagem suportados pelo utilitário Conversão de imagem (IC), com exceção das imagens de origem com 16 bits por componente.

OBSERVAÇÃO

O Serviço de imagem executará automaticamente o utilitário de validação quando uma imagem estrangeira for usada pela primeira vez, para garantir que a imagem seja válida e não tenha sido corrompida durante a transmissão. Isso pode causar um pequeno atraso no primeiro acesso. Para obter o melhor desempenho, é recomendável limitar o tamanho dessas imagens e/ou usar um formato de arquivo de imagem que compacte bem.

Restrições

O tamanho da imagem gerada por solicitações aninhadas/incorporadas é normalmente otimizado automaticamente. Se o armazenamento em cache de imagens de solicitação aninhadas estiver ativado, os ganhos de desempenho incrementais podem ser alcançados especificando o tamanho exato da imagem aninhada, para que não seja necessário dimensionar mais quando a entrada do cache for reutilizada.

O Serviço de imagem importante não suporta a codificação de duplos de solicitações aninhadas ou incorporadas. As solicitações aninhadas e incorporadas devem ser codificadas por HTTP da mesma forma que as solicitações simples.

Exemplos

Modelo de layout com cache:

Use o aninhamento para adicionar cache a um modelo de camadas. Um número limitado de imagens de plano de fundo é sobreposto por um texto altamente variável. A string inicial do modelo pode ser semelhante a esta:

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

Com pequenas modificações, podemos pré-dimensionar a imagem da camada 0 e armazená-la em cache de forma persistente, reduzindo assim a carga do servidor:

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

Incorporação de solicitações para renderização de imagem do Scene7

Usando um modelo armazenado em myCatalog/myTemplate; gere a imagem para a camada2 do modelo usando a Renderização de imagem do Scene7:

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

Observe as chaves aninhadas. A solicitação de renderização de imagem incorpora uma chamada de volta ao Serviço de imagem para recuperar uma textura repetível.

Consulte também

src= , mask=, Solicitar pré-processamento, Referência de renderização de imagem, Modelos, Utilitários de disponibilização de imagem

Nesta página