Nesten en insluiten aanvragen

Image Serving ondersteunt het onbeperkt nesten van aanvragen voor beeldweergave, het insluiten van aanvragen voor het renderen van afbeeldingen en het insluiten van afbeeldingen die zijn opgehaald van externe servers. Deze mechanismen worden alleen ondersteund door laagafbeeldingen en laagmaskers.

OPMERKING

Bepaalde e-mailclients en proxyservers kunnen de accolades coderen die worden gebruikt voor de syntaxis voor nesten en insluiten. Toepassingen waarvoor dit een probleem is, moeten haakjes gebruiken in plaats van accolades.

Aanvragen voor geneste afbeeldingen

Een volledige aanvraag voor het leveren van een afbeelding kan als een laagbron worden gebruikt door deze op te geven in de opdracht src= (of mask=) met behulp van de volgende syntaxis:

…&src=is( nestedRequest)&…

De token is is hoofdlettergevoelig.

Het geneste verzoek mag niet het hoofdpad van de server bevatten (gewoonlijk http:// *server*/is/image/').

OPMERKING

De geneste tekens van het aanvraagscheidingsteken ( '(',')') en de opdrachtscheidingstekens ( '?', '&', '=') binnen geneste aanvragen mogen niet HTTP-gecodeerd zijn. Geneste aanvragen moeten feitelijk op dezelfde manier worden gecodeerd als de aanvraag voor buitenste (geneste) bestanden.

Regels voor voorbewerking worden toegepast op geneste aanvragen.

De volgende opdrachten worden genegeerd wanneer deze worden opgegeven in geneste aanvragen (in de aanvraag-URL of in catalog::Modifier of catalog::PostModifier):

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

Als de resultaatafbeelding van de geneste aanvragen maskergegevens (alfa-gegevens) bevat, wordt deze als laagmasker doorgegeven aan de insluitlaag.

Ook worden attribute::MaxPixen attribute::DefaultPix van de afbeeldingscatalogus genegeerd die van toepassing is op het geneste verzoek.

Het afbeeldingsresultaat van een genest IS-verzoek kan optioneel in de cache worden opgeslagen door cache=on op te nemen. Het in cache plaatsen van tussentijdse gegevens is standaard uitgeschakeld. Caching zou slechts moeten worden toegelaten wanneer het middenbeeld naar verwachting in een verschillend verzoek binnen een redelijke termijn opnieuw zal worden gebruikt. Standaard cachebeheer op de server is van toepassing. Gegevens worden in cache opgeslagen in een indeling zonder gegevensverlies.

Aanvragen voor het renderen van ingesloten afbeelding

Wanneer Dynamic Media Image Rendering is ingeschakeld op de server, kunnen renderverzoeken worden gebruikt als laagbronnen door deze op te geven in de opdracht src= (of mask=). Gebruik de volgende syntaxis:

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

De token ir is hoofdlettergevoelig.

renderRequest Dit is de gebruikelijke aanvraag voor het renderen van afbeeldingen, exclusief het HTTP-hoofdpad http:// *server*/ir/render/.

OPMERKING

De geneste tekens van het aanvraagscheidingsteken ( '(',')') en de opdrachtscheidingstekens ( '?', '&', '=') binnen geneste aanvragen mogen niet HTTP-gecodeerd zijn. Ingesloten aanvragen moeten feitelijk op dezelfde manier worden gecodeerd als de aanvraag voor buitenste insluiten.

De volgende opdrachten voor het renderen van afbeeldingen worden genegeerd wanneer deze worden opgegeven in geneste aanvragen:

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

Ook worden attribute::MaxPix en attribute::DefaultPix van de materiaalcatalogus genegeerd die op het genestelde teruggeven verzoek van toepassing is.

Het beeldresultaat van een genest verzoek van AIR kan naar keuze door cache=on te omvatten worden in het voorgeheugen ondergebracht. Het in cache plaatsen van tussentijdse gegevens is standaard uitgeschakeld. Caching zou slechts moeten worden toegelaten wanneer het middenbeeld naar verwachting in een verschillend verzoek binnen een redelijke termijn opnieuw zal worden gebruikt. Standaard cachebeheer op de server is van toepassing. Gegevens worden in cache opgeslagen in een indeling zonder gegevensverlies.

Ingesloten FXG-renderaanvragen

Wanneer de FXG grafische renderer (ook bekend als AGMServer) is geïnstalleerd en ingeschakeld met Image Serving, kunnen FXG-aanvragen worden gebruikt als laagbronnen door deze op te geven in src= (of mask=)-opdrachten. Gebruik de volgende syntaxis:

…&src=fxg( renderRequest)&…

De token fxg is hoofdlettergevoelig.

OPMERKING

FXG-rendering van afbeeldingen is alleen beschikbaar in de door Dynamic Media gehoste omgeving en vereist mogelijk extra licenties. Neem contact op met de technische ondersteuning van Dynamic Media voor meer informatie.

renderRequest is de gebruikelijke FXG-renderaanvraag, exclusief het HTTP-hoofdpad http:// *server*/agm/render/.

OPMERKING

De scheidingstekens ( '(',')') en de opdrachtscheidingstekens ( '?', '&', '=') binnen geneste aanvragen mogen niet HTTP-gecodeerd zijn. Ingesloten aanvragen moeten feitelijk op dezelfde manier worden gecodeerd als de aanvraag voor buitenste insluiten.

De volgende FXG-opdrachten worden genegeerd wanneer deze worden opgegeven in geneste aanvragen:

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

Externe afbeeldingsbronnen

Image Serving ondersteunt toegang tot bronafbeeldingen op externe HTTP-servers.

OPMERKING

Alleen het HTTP-protocol wordt ondersteund voor externe URL's.

Als u een externe URL wilt opgeven voor een opdracht src= of mask=, scheidt u het externe URL- of URL-fragment met haakjes:

…&src=( foreignUrl)&…

Belangrijk De scheidingstekens ( '(',')') en de bevelafbakeningstekens ( '?', '&', '=') binnen genestelde verzoeken moeten niet HTTP-gecodeerd zijn. Ingesloten aanvragen moeten feitelijk op dezelfde manier worden gecodeerd als de aanvraag voor buitenste insluiten.

Volledige absolute URL's (als attribute::AllowDirectUrls is ingesteld) en URL's ten opzichte van attribute::RootUrl zijn toegestaan. Er treedt een fout op als een absolute URL is ingesloten en een kenmerk: AllowDirectUrls is 0, of als een relatieve URL wordt gespecificeerd en attribute::RootUrl leeg is.

Hoewel externe URL's niet rechtstreeks in de padcomponent van de aanvraag-URL kunnen worden opgegeven, is het mogelijk een voorbewerkingsregel in te stellen om de conversie van relatieve paden naar absolute URL's toe te staan (zie het voorbeeld hieronder).

Externe afbeeldingen worden door de server in het cachegeheugen opgeslagen volgens de headers die bij de HTTP-respons worden geleverd. Als er noch een ETag noch een laatste-Gewijzigde HTTP-antwoordheader aanwezig is, wordt de reactie niet in de cache geplaatst. Dit kan slechte prestaties voor herhaalde toegang tot het zelfde buitenlandse beeld veroorzaken, aangezien de Serving van het Beeld het beeld bij elke toegang moet re-halen en opnieuw bevestigen.

Dit mechanisme ondersteunt dezelfde indelingen voor afbeeldingsbestanden die worden ondersteund door het hulpprogramma Image Convert (IC), met uitzondering van bronafbeeldingen met 16 bits per component.

OPMERKING

Bij Beeldserver wordt het hulpprogramma voor validatie automatisch uitgevoerd wanneer een extern image voor het eerst wordt gebruikt, om te controleren of het image geldig is en tijdens de overdracht niet is beschadigd. Dit kan een lichte vertraging bij eerste toegang veroorzaken. Voor de beste prestaties is het raadzaam de grootte van dergelijke afbeeldingen te beperken en/of een indeling voor afbeeldingsbestanden te gebruiken die goed comprimeert.

Beperkingen

De grootte van de afbeelding die wordt gegenereerd door geneste/ingesloten aanvragen, wordt normaal gesproken automatisch geoptimaliseerd. Als plaatsing in cache van geneste aanvraagafbeeldingen is ingeschakeld, kunnen de prestaties toenemen door de exacte grootte van de geneste afbeelding op te geven, zodat er geen verdere schaling nodig is wanneer het cacheitem opnieuw wordt gebruikt.

De belangrijke Serving van het Beeld steunt dubbel-coderen van genestelde of ingebedde verzoeken niet. Geneste en ingesloten aanvragen moeten net als eenvoudige aanvragen HTTP-gecodeerd zijn.

Voorbeelden

Laagsjabloon met caching:

Met nesten kunt u caching toevoegen aan een laagsjabloon. Een beperkt aantal achtergrondafbeeldingen wordt bedekt met zeer variabele tekst. De eerste sjabloontekenreeks ziet er als volgt uit:

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

Met kleine wijzigingen kunnen we de afbeelding met laag 0 vooraf schalen en deze blijvend in cache plaatsen, waardoor de serverlading afneemt:

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

Aanvragen voor Dynamic Media-beeldweergave insluiten

Een sjabloon gebruiken die is opgeslagen in myCatalog/myTemplate; de afbeelding voor laag2 van de sjabloon genereren met 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

Noteer de geneste accolades. Met de aanvraag Afbeelding renderen sluit u een aanroep terug naar Image Serving om een herhaalbare structuur op te halen.

Zie ook

src= , mask=, Verzoek om PreProcessing, Verwijzing van de Teruggave van Beeld, Malplaatjes, de Hulpprogramma's van de Beelddienst

Op deze pagina