Compression/décompression avec l'activité Demande HTTP Invoke/Get/Post/Head/Put/Delete

A l'exécution, l'activité Demande HTTP Invoke/Get/Post/Head/Put/Delete envoie au serveur HTTP une demande HTTP conforme au protocole HTTP/HTTPS 1.1.

Remarque : L'activité Demande HTTP Invoke/Get/Post/Head/Put/Delete 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.

A l'exécution, l'activité Demande HTTP Invoke/Get/Post/Head/Put/Delete a un comportement de compression/décompression qui varie en fonction des conditions suivantes :

L'impact de ces conditions sur le comportement de compression/décompression à l'exécution de l'activité Demande HTTP Invoke/Get/Post/Head/Put/Delete est décrit dans les sections suivantes ainsi que dans les tableaux de 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 demande 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 demande au format non compressé et toutes les demandes 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 de la compression/décompression par le noeud final est représentée par la 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 demande HTTP détermine si le corps de la demande est compressé et indique le type d'encodage utilisé. Par exemple, si l'en-tête Content-Encoding est égal à deflate, le dispositif d'intégration envoie le corps de la demande compressé au format deflate, comme indiqué dans la deuxième ligne du premier tableau intitulé Comportement de la compression lors de l'envoi d'une demande et dans la figure suivante.

La valeur de l'en-tête Accept-Encoding dans la demande définit les types d'encodage que le client HTTP accepte dans la réponse. Par exemple, si l'en-tête Accept-Encoding est égal à gzip,deflate dans la demande, 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 rien n'est mappé au paramètre d'entrée optionnel httpheaders dans la tâche Mapper les entrées de l'activité Demande HTTP Invoke/Get/Post/Head/Put/Delete, 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é Demande HTTP Invoke/Get/Post/Head/Put/Delete.

Les valeurs des en-têtes Accept-Encoding et Content-Encoding de la demande peuvent être explicitement définies à l'aide de paires nom-valeur dans le paramètre d'entrée optionnel httpheaders de la tâche Mapper les entrées, dans l'activité Demande HTTP Invoke/Get/Post/Head/Put/Delete. Par exemple, pour régler Content-Encoding sur deflate, spécifiez la paire nom-valeur suivante dans le paramètre d'entrée optionnel httpheaders :

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 demande, 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 demande sont utilisées par le dispositif d'intégration et le serveur 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/décompression n'est utilisée pour aucune des activités HTTP. Vous pouvez l'activer ou la désactiver individuellement pour chaque activité en agissant sur la case Utiliser la compression/décompression, dans la tâche Configurer de l'activité concernée. La colonne intitulée Case Utiliser compression/décompression, dans le tableau de la section Comportement de compression/décompression à l'exécution, représente l'état (coché ou non) de la case Utiliser la compression/décompression.

Remarque : La case à cocher Utiliser compression/décompression sera dépréciée et supprimée dans une édition future des activités HTTP. Utilisez les paramètres HTTP Content-Encoding et Accept-Encoding dans la demande HTTP pour spécifier comment décompresser le corps de la demande HTTP et compresser le corps de la réponse HTTP.

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

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

Le tableau fourni à la section Valeur de l'en-tête Accept-Encoding passée avec la demande décrit la valeur de l'en-tête Accept-Encoding passée dans la demande HTTP.

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

Comportement de compression lors de l'envoi d'une demande

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

Case à cocher Utiliser compression/ décompression (niveau activité)   Valeur Content-Encoding de la demande 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 demande
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 demande compressé au format gzip. La valeur de l'en-tête Content-Encoding est gzip dans la demande.
sélectionnée deflate oui Le dispositif d'intégration envoie le corps de la demande compressé au format deflate. La valeur de l'en-tête Content-Encoding est deflate dans la demande.
sélectionnée identity oui Le dispositif d'intégration envoie le corps de la demande non compressé. La valeur de l'en-tête Content-Encoding est identity dans la demande.
sélectionnée la valeur n'est pas significative non Le dispositif d'intégration envoie le corps de la demande non compressé. La valeur de l'en-tête Content-Encoding est identity dans la demande.
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 demande tel quel (non modifié). La valeur en cours de l'en-tête Content-Encoding est transmise telle quelle dans la demande.

 

Valeur de l'en-tête Accept-Encoding passée avec la demande

Le tableau suivant décrit la valeur de l'en-tête Accept-Encoding passée dans la demande 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 demande HTTP au serveur
sélectionnée gzip oui La valeur de l'en-tête Accept-Encoding est gzip dans la demande.
sélectionnée deflate oui La valeur de l'en-tête Accept-Encoding est deflate dans la demande.
sélectionnée gzip,deflate oui La valeur de l'en-tête Accept-Encoding est gzip,deflate dans la demande.
sélectionnée deflate,gzip oui La valeur de l'en-tête Accept-Encoding est deflate,gzip dans la demande.
sélectionnée identity oui La valeur de l'en-tête Accept-Encoding est identity dans la demande.
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 gzip,deflate dans la demande.
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 demande.
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 demande.

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.



Commentaires | Notices


Icône d'horodatage Dernière révision: Friday, November 1, 2013


http://pic.dhe.ibm.com/infocenter/wci/v7r0m0/topic/com.ibm.wci.doc/compression_decompression_with_the_http_invoke_get_post_head_put_delete_request_activity.html