Compressione/decompressione con l'attività HTTP - Invia richiesta

Durante il runtime, l'attività HTTP - Invia richiesta invia al server HTTP una richiesta HTTP conforme al protocollo HTTP/HTTPS 1.1.

Nota: l'attività HTTP - Invia richiesta supporta la compressione/decompressione con i formati gzip o deflate. Non supporta il formato di compressione file UNIX® comune denominato compress.

Il funzionamento al runtime della compressione/decompressione dell'attività HTTP - Invia richiesta dipende dalle seguenti condizioni:

L'influenza di queste condizioni sul funzionamento al runtime della compressione/decompressione dell'attività HTTP - Invia richiesta viene descritta di seguito e nelle tabelle fornite nella sezione Funzionamento al runtime della compressione/decompressione.

Supporto endpoint per la compressione/decompressione

Il dispositivo di integrazione determina se l'endpoint HTTP supporta o meno la compressione quando il dispositivo di integrazione invia la prima richiesta HTTP nel formato compresso all'endpoint HTTP (il server HTTP), se il server HTTP restituisce un codice di errore indicante che il server HTTP non supporta la compressione oppure non supporta il tipo di Content-Encoding specificato, il dispositivo di integrazione reinvia la prima richiesta in formato non compresso e tutte le successive richieste a questo endpoint vengono inviate in formato non compresso. Inoltre, la risposta HTTP inviata dal server HTTP non viene decompressa quando viene ricevuta dal dispositivo di integrazione.  

Il supporto endpoint per la compressione/decompressione è rappresentato dalla quarta colonna con l'etichetta L'endpoint supporta la compressione? nelle tabelle fornite nella sezione Funzionamento al runtime della compressione/decompressione.  

Valori di Content-Encoding e Accept-Encoding a livello di messaggio

Il valore dell'intestazione Content-Encoding nella richiesta HTTP determina se il corpo della richiesta è compresso e il tipo di codifica utilizzato. Ad esempio, se il valore di Content-Encoding equivale a deflate, il dispositivo di integrazione invia il corpo della richiesta compresso nel formato deflate come mostrato nella seconda riga della prima tabella di seguito descritta denominata Funzionamento della compressione quando si invia una richiesta e nella seguente figura.

Il valore dell'intestazione Accept-Encoding nella richiesta definisce i tipi di codifica che il client HTTP accetta nella risposta. Ad esempio, se Accept-Encoding è uguale a gzip,deflate nella richiesta, il server HTTP può inviare il corpo della richiesta compresso nei formati gzip o deflate al dispositivo di integrazione (che funge da client) come mostrato nella seguente figura:
Figura 1.
Per impostazione predefinita, se non viene assegnato alcun valore al parametro di input httpheaders nell'attività Associa input dell'attività HTTP - Invia richiesta, viene creato un insieme di intestazioni predefinite.  Ad esempio, l'intestazione URL viene automaticamente impostata con il valore fornito nel pannello Configura dell'attività HTTP - Invia richiesta.

I valori per le intestazioni Accept-Encoding e Content-Encoding per la richiesta possono essere esplicitamente impostati utilizzando le coppie nome/valore nel parametro di input facoltativo httpheaders dell'attività Associa input nell'attività HTTP - Invia richiesta. Ad esempio, per impostare l'intestazione Content-Encoding su deflate, impostare la seguente coppia nome/valore nel parametro di input facoltativo httpheaders:

Se non viene impostato alcun valore oppure se vengono impostati valori non supportati per le intestazioni Accept-Encoding e Content-Encoding della richiesta, verranno forniti i valori predefiniti descritti nelle seguenti tabelle:

I valori delle intestazioni Accept-Encoding e Content-Encoding nella richiesta vengono utilizzati dal dispositivo di integrazione e dal server HTTP per stabilire il funzionamento della compressione/decompressione.

Impostazione compressione/decompressione a livello dell'attività

Per impostazione predefinita, la compressione e la decompressione sono attivate a livello dell'attività per l'attività HTTP - Invia richiesta.  È possibile disattivare la compressione/decompressione a livello dell'attività, deselezionando la casella di spunta Utilizza compressione/decompressione. La casella di spunta Utilizza compressione/decompressione è disponibile nell'attività Configura dell'attività. La seconda colonna con etichetta Casella di spunta Utilizza compressione/decompressione nelle seguenti tabelle fornite nella sezione Funzionamento al runtime della compressione/decompressione, rappresenta l'impostazione della casella di spunta Utilizza compressione/decompressione.

Nota: la casella di spunta Utilizza compressione/decompressione risulterà obsoleta in un futuro release per le attività HTTP. Utilizzare i parametri HTTP Content-Encoding e Accept-Encoding nella richiesta HTTP per specificare in che modo decomprimere il corpo della richiesta HTTP e comprimere il corpo della risposta HTTP.

Funzionamento al runtime della compressione/decompressione

La prima tabella fornita nella sezione Funzionamento della compressione quando si invia una richiesta, descrive il funzionamento al runtime della compressione quando il dispositivo di integrazione invia una richiesta HTTP al server HTTP.

La seconda tabella fornita nella sezione Valore intestazione Accept-Encoding trasmesso alla richiesta, descrive il valore dell'intestazione Accept-Encoding trasmesso nella richiesta HTTP.

La terza tabella fornita nella sezione Funzionamento della decompressione quando si riceve una risposta, descrive il funzionamento al runtime della decompressione quando il dispositivo di integrazione riceve la risposta HTTP dal server HTTP.

Funzionamento della compressione quando si invia una richiesta

La seguente tabella descrive il funzionamento al runtime della compressione quando il dispositivo di integrazione invia una richiesta HTTP al server HTTP.

Casella di spunta Utilizza compressione/decompressione (Livello attività) Valore Content-Encoding nella richiesta HTTP (Livello messaggio) L'endpoint supporta la compressione? Funzionamento al runtime della compressione del dispositivo di integrazione quando si invia una richiesta
selezionata gzip, non impostato o qualsiasi altra stringa tranne deflate o identity Il dispositivo di integrazione invia il corpo della richiesta compresso nel formato gzip. L'intestazione Content-Encoding viene impostata su gzip nella richiesta.
selezionata deflate Il dispositivo di integrazione invia il corpo della richiesta compresso nel formato deflate. L'intestazione Content-Encoding viene impostata su deflate nella richiesta.
selezionata identity Il dispositivo di integrazione invia il corpo della richiesta non compresso. Il valore dell'intestazione Content-Encoding viene impostato su identity nella richiesta.
selezionata valore non significativo no Il dispositivo di integrazione invia il corpo della richiesta non compresso. Il valore dell'intestazione Content-Encoding viene impostato su identity nella richiesta.
deselezionata valore non significativo valore non significativo Il dispositivo di integrazione invia il corpo della richiesta così com'è (senza modificarlo). Il valore corrente dell'intestazione Content-Encoding viene trasmesso così com'è nella richiesta.

 

Valore intestazione Accept-Encoding trasmesso alla richiesta

La seguente tabella descrive il valore dell'intestazione Accept-Encoding trasmesso nella richiesta HTTP.

Casella di spunta Utilizza compressione/decompressione (Livello attività) Valore Accept-Encoding iniziale L'endpoint supporta la compressione? Valore Accept-Encoding trasmesso nella richiesta HTTP al server
selezionata gzip Il valore dell'intestazione Accept-Encoding viene impostato su gzip nella richiesta.
selezionata deflate Il valore dell'intestazione Accept-Encoding viene impostato su deflate nella richiesta.
selezionata gzip,deflate Il valore dell'intestazione Accept-Encoding viene impostato su gzip,deflate nella richiesta.
selezionata deflate,gzip Il valore dell'intestazione Accept-Encoding viene impostato su deflate,gzip nella richiesta.
selezionata identity Il valore dell'intestazione Accept-Encoding viene impostato su identity nella richiesta.
selezionata non impostato oppure qualsiasi altra stringa tranne deflate, gzip o identity Il valore dell'intestazione Accept-Encoding viene impostato su gzip,deflate nella richiesta.
selezionata valore non significativo no Il valore corrente dell'intestazione Accept-Encoding viene trasmesso così com'è nella richiesta.
deselezionata valore non significativo valore non significativo Il valore corrente dell'intestazione Accept-Encoding viene trasmesso così com'è nella richiesta.

Funzionamento della decompressione quando si riceve una risposta

La tabella riportata di seguito descrive il funzionamento al runtime della decompressione quando il dispositivo di integrazione riceve la risposta HTTP dal server HTTP.

Casella di spunta Utilizza compressione/decompressione (Livello attività) Valore Content-Encoding nella risposta HTTP (Livello messaggio) L'endpoint supporta la compressione? Funzionamento al runtime della decompressione del dispositivo di integrazione quando riceve una risposta
selezionata gzip Il dispositivo di integrazione decomprime il corpo della risposta utilizzando il formato gzip.
selezionata deflate Il dispositivo di integrazione decomprime il corpo della risposta utilizzando il formato deflate.
selezionata identity Il dispositivo di integrazione non decomprime il corpo della risposta.
selezionata valore non indicato nell'intestazione Accept-Encoding Il dispositivo di integrazione registra un errore indicante che i dati di risposta sono stati ricevuti in un tipo di codifica del contenuto non desiderato.
selezionata valore non significativo no Il dispositivo di integrazione non decomprime il corpo della risposta. Il valore corrente dell'intestazione Content-Encoding viene trasmesso così com'è nella risposta.
deselezionata valore non significativo valore non significativo Il dispositivo di integrazione non decomprime il corpo della risposta.  Il valore corrente dell'intestazione Content-Encoding viene trasmesso così com'è nella risposta.