Compression/décompression avec l'activité HTTP Publier requête

En phase d'exécution, l'activité HTTP Publier requête envoie une réclamation de requête HTTP avec le protocole HTTP/HTTPS 1.1 au Server HTTP.

Remarque : L'activité HTTP Publier requête prend en charge la compression/décompression au format gzip ou deflate. Elle ne prend pas en charge le format de compression de fichier UNIX courant appelé compress.

Le comportement d'exécution de la compression/décompression de l'activité HTTP Publier requête est dépendant des conditions suivantes :

L'impact de ces conditions sur le comportement d'exécution de compression/décompression de l'activité HTTP Publier requête est décrit ci-dessous et dans les tableaux figurant à la section Comportement de compression/décompression en phase d'exécution.

Prise en charge par le noeud final de la compression/décompression

Le dispositif d'intégration détermine si le noeud final HTTP prend en charge la compression lorsque le dispositif d'intégration envoie la première requête HTTP au format compressé au noeud final HTTP (serveur HTTP). Si le serveur HTTP renvoie un code d'erreur indiquant qu'il ne prend pas en charge la compression ou le type Content-Encoding spécifié, le dispositif d'intégration renvoie la première requête au format non compressé et toutes les requêtes suivantes sont envoyées au noeud final au format non compressé. En outre, la réponse HTTP envoyée par le serveur HTTP n'est pas décompressée lorsqu'elle est réceptionnée par le dispositif d'intégration.  

La prise en charge du noeud final pour la compression/décompression est représentée par la quatrième colonne intitulée Le noeud final prend en charge la compression ? dans les tableaux fournis à la section Comportement de compression/décompression en phase d'exécution.  

Valeurs Content-Encoding et Accept-Encoding au niveau du message

La valeur de l'en-tête Content-Encoding dans la requête HTTP détermine si le corps de la requête est compressé et indique le type de codage utilisé. Par exemple, si l'en-tête Content-Encoding est égal à deflate, le dispositif d'intégration envoie le corps de la requête compressé au format deflate, comme indiqué dans la deuxième ligne du premier tableau ci-dessous, intitulé Comportement de la compression lors de l'envoi d'une requête et dans la figure suivante.

La valeur de l'en-tête Accept-Encoding dans la requête définit les types du codage que le client HTTP accepte dans la réponse. Par exemple, si l'en-tête Accept-Encoding est égal à gzip,deflate dans la requête, le serveur HTTP peut envoyer le corps de la réponse compressé au format gzip ou deflate au dispositif d'intégration (jouant le rôle du client), comme illustré dans la figure suivante :
Figure 1.
Par défaut, si aucun élément n'est mappé sur le paramètre d'entrée httpheaders facultatif dans la tâche Mapper les entrées de l'activité HTTP Publier requête, un ensemble d'en-têtes par défaut est créé. Par exemple, l'en-tête d'URL est automatiquement défini avec la valeur fournie dans le panneau Configurer de l'activité HTTP Publier requête.

Les valeurs des en-têtes Accept-Encoding et Content-Encoding pour la requête peuvent être explicitement définies à l'aide de paires valeur-nom dans le paramètre d'entrée httpheaders facultatif de la tâche Mapper les entrées, dans l'activité HTTP Publier requête. Par exemple, pour définir Content-Encoding par deflate, paramétrez la paire valeur-nom suivante dans le paramètre d'entrée httpheaders facultatif :

Si aucune valeur ou des valeurs non prises en charge sont définies pour les en-têtes Accept-Encoding et Content-Encoding de la requête, les valeurs par défaut sont fournies comme indiqué dans les tableaux suivants :

Les valeurs des en-têtes Accept-Encoding et Content-Encoding dans la requête sont utilisées par le dispositif d'intégration et le server HTTP afin de déterminer le comportement de compression/décompression.

Définition de la compression/décompression au niveau de l'activité

Par défaut, la compression et la décompression sont activées au niveau de l'activité, pour l'activité HTTP Publier requête. Vous pouvez désactiver la compression/décompression au niveau de l'activité en désélectionnant la case Utiliser la compression/décompression. La case Utiliser la compression/décompression est disponible dans la tâche Configurer de l'activité. La seconde colonne intitulée Case Utiliser compression/décompression dans les tableaux suivants, figurant à la section Comportement de compression/décompression en phase d'exécution, représente le paramètre de la case Utiliser la compression/décompression.

Remarque : La case à cocher Utiliser compression/décompression va être abandonnée dans une édition future des activités HTTP. Utilisez les paramètres HTTP Content-Encoding et Accept-Encoding dans la requête HTTP pour spécifier comment décompresser le corps de la requête HTTP et compresser le corps de la réponse HTTP.

Comportement de l'exécution de la compression/décompression

Le premier tableau fourni à la section Comportement de la compression lors de l'envoi d'une requête décrit le comportement de l'exécution de la compression lorsque le dispositif d'intégration envoie une requête HTTP au serveur HTTP.

Le second tableau fourni à la section Valeur d'en-tête Accept-Encoding transmise à la requête décrit la valeur de l'en-tête Accept-Encoding transmise à la requête HTTP.

Le troisième tableau fourni à la section Comportement de la décompression lors de la réception d'une réponse décrit le comportement d'exécution de la décompression lorsque le dispositif d'intégration reçoit la réponse HTTP du serveur HTTP.

Comportement de la compression lors de l'envoi d'une requête

Le tableau suivant décrit le comportement de l'exécution de la compression lorsque le dispositif d'intégration envoie une requête HTTP au serveur HTTP .

Case à cocher Utiliser compression/ décompression (niveau activité)   Valeur Content-Encoding de la requête HTTP (niveau message) Le noeud final prend en charge la compression ? Comportement d'exécution de la compression sur le dispositif d'intégration lors de l'envoi d'une requête
sélectionnée gzip, not set ou tout autre chaîne à l'exception de deflate ou identity oui Le dispositif d'intégration envoie le corps de la requête compressé au format gzip. La valeur de l'en-tête Content-Encoding est définie par gzip dans la requête.
sélectionnée deflate oui Le dispositif d'intégration envoie le corps de la requête compressé au format deflate. La valeur de l'en-tête Content-Encoding est définie par deflate dans la requête.
sélectionnée identity oui Le dispositif d'intégration envoie le corps de la requête non compressé. La valeur de l'en-tête Content-Encoding est définie par identity dans la requête.
sélectionnée la valeur n'est pas significative non Le dispositif d'intégration envoie le corps de la requête non compressé. La valeur de l'en-tête Content-Encoding est définie par identity dans la requête.
désélectionnée la valeur n'est pas significative la valeur n'est pas significative Le dispositif d'intégration envoie le corps de la requête tel quel (non modifié). La valeur en cours de l'en-tête Content-Encoding est transmise telle quelle dans la requête.

 

Valeur d'en-tête Accept-Encoding transmise à la requête

Le tableau suivant décrit la valeur de l'en-tête Accept-Encoding transmise à la requête HTTP.

Case à cocher Utiliser compression/ décompression (niveau activité)   Valeur Accept-Encoding initiale Le noeud final prend en charge la compression ? Valeur Accept-Encoding transmise dans la requête HTTP au serveur
sélectionnée gzip oui La valeur de l'en-tête Accept-Encoding est définie par gzip dans la requête.
sélectionnée deflate oui La valeur de l'en-tête Accept-Encoding est définie par deflate dans la requête.
sélectionnée gzip,deflate oui La valeur de l'en-tête Accept-Encoding est définie par gzip,deflate dans la requête.
sélectionnée deflate,gzip oui La valeur de l'en-tête Accept-Encoding est définie par deflate,gzip dans la requête.
sélectionnée identity oui La valeur de l'en-tête Accept-Encoding est définie par identity dans la requête.
sélectionnée not set ou tout autre chaîne à l'exception de deflate, gzip ou identity oui La valeur de l'en-tête Accept-Encoding est définie par gzip,deflate dans la requête.
sélectionnée la valeur n'est pas significative non La valeur en cours de l'en-tête Accept-Encoding est transmise telle quelle dans la requête.
désélectionnée la valeur n'est pas significative la valeur n'est pas significative La valeur en cours de l'en-tête Accept-Encoding est transmise telle quelle dans la requête.

Comportement de décompression lors de la réception d'une réponse

Le tableau suivant décrit le comportement de l'exécution de la décompression lorsque le dispositif d'intégration reçoit une réponse HTTP provenant du serveur HTTP .

Case à cocher Utiliser compression/ décompression (niveau activité)   Valeur Content-Encoding de la réponse HTTP (niveau message) Le noeud final prend en charge la compression ? Comportement d'exécution de la décompression sur le dispositif d'intégration lors de la réception d'une réponse
sélectionnée gzip oui Le dispositif d'intégration décompresse le corps de la réponse à l'aide du format gzip.
sélectionnée deflate oui Le dispositif d'intégration décompresse le corps de la réponse à l'aide du format deflate.
sélectionnée identity oui Le dispositif d'intégration ne décompresse pas le corps de la réponse.
sélectionnée valeur non répertoriée dans l'en-tête Accept-Encoding oui Le dispositif d'intégration consigne l'erreur selon laquelle les données de réponse ont été reçues dans un type de codage de contenu non sollicité.
sélectionnée la valeur n'est pas significative non Le dispositif d'intégration ne décompresse pas le corps de la réponse. La valeur en cours de l'en-tête Content-Encoding est transmise telle quelle dans la réponse.
désélectionnée la valeur n'est pas significative la valeur n'est pas significative Le dispositif d'intégration ne décompresse pas le corps de la réponse. La valeur en cours de l'en-tête Content-Encoding est transmise telle quelle dans la réponse.