Compresión/Descompresión con la actividad de petición HTTP Invoke/Get/Post/Head/Put/Delete

Durante la ejecución, la actividad HTTP Invoke/Get/Post/Head/Put/Delete Request envía al servidor HTTP una petición HTTP que cumple con el protocolo HTTP/HTTPS 1.1.

Nota: La actividad HTTP Invoke/Get/Post/Head/Put/Delete Request soporta compresión/descompresión en los formatos gzip o deflate. No soporta el formato común de compresión de archivos de UNIX llamado compress.

El comportamiento de compresión/descompresión en tiempo de ejecución de la actividad HTTP Invoke/Get/Post/Head/Put/Delete Request depende de las condiciones siguientes:

El efecto de estas condiciones en el comportamiento en tiempo de ejecución de compresión/descompresión de la actividad HTTP Invoke/Get/Post/Head/Put/Delete Request se describe en las secciones siguientes y en las tablas proporcionadas en la sección Comportamiento de compresión/descompresión.

Compatibilidad del punto final con la compresión/descompresión

El Dispositivo de integración determina si el punto final HTTP admite la compresión cuando el Dispositivo de integración envía la primera solicitud HTTP en formato comprimido al punto final HTTP (el servidor HTTP); si el servidor HTTP devuelve un código de error indicando que el servidor HTTP no admite la compresión o el tipo de Content-Encoding especificado, el Dispositivo de integración vuelve a enviar la primera solicitud en formato sin comprimir y las solicitudes posteriores a este punto final se envían en un formato sin comprimir. Además, la respuesta HTTP enviada por el servidor HTTP no se descomprime cuando la recibe el Dispositivo de integración.

El soporte de compresión/descompresión del punto final se representa en la cuarta columna con la etiqueta ¿Soporta compresión el punto final? en las tablas incluidas en la sección Comportamiento de compresión/descompresión en tiempo de ejecución.

Valores de Content-Encoding y Accept-Encoding en el nivel de mensaje

El valor de la cabecera Content-Encoding de la solicitud HTTP determina si se comprimirá el cuerpo de la solicitud y el tipo de codificación que se utilizará. Por ejemplo, si Content-Encoding es igual a deflate, el Dispositivo de integración envía el cuerpo de la solicitud comprimido en formato deflate, como se muestra en la segunda fila de la primera tabla con la etiqueta Comportamiento de compresión al enviar una solicitud y en la siguiente ilustración.

El valor de la cabecera Accept-Encoding de la solicitud define los tipos de codificación que el cliente HTTP acepta en la respuesta. Por ejemplo, si Accept-Encoding es igual a gzip,deflate en la solicitud, el servidor HTTP puede enviar el cuerpo de la respuesta comprimido en formato gzip o deflate al Dispositivo de integración (actuando como cliente), como se muestra en la siguiente ilustración:
Figura 1.
De forma predeterminada, si no hay nada correlacionado con el parámetro de entrada opcional httpheaders en la tarea Correlacionar entradas de la actividad HTTP Invoke/Get/Post/Head/Put/Delete Request, se crea un conjunto de cabeceras predeterminado. Por ejemplo, la cabecera URL se establece de forma automática al valor proporcionado en el panel Configurar de la actividad HTTP Invoke/Get/Post/Head/Put/Delete Request .

Los valores de las cabeceras Accept-Encoding y Content-Encoding de la petición pueden establecerse de forma explícita utilizando pares nombre/valor en el parámetro de entrada opcional httpheaders de la tarea Correlacionar entradas en la actividad HTTP Invoke/Get/Post/Head/Put/Delete Request. Por ejemplo, para establecer Content-Encoding a deflate, configure el siguiente par nombre/valor en el parámetro de entrada opcional httpheaders:

  • httpheaders/httpheaders/otherHeaders/headerItem/name se establece a la cadena: Content-Encoding
  • httpheaders/httpheaders/otherHeaders/headerItem/value se establece al tipo de codificación como, por ejemplo, la cadena deflate.

Si se establecen valores no admitidos o no se establece ningún valor para las cabeceras Accept-Encoding y Content-Encoding, se adoptarán los valores predeterminados, como se muestra en las siguientes tablas:

El Dispositivo de integración y el servidor HTTP utilizan los valores de las cabeceras Accept-Encoding y Content-Encoding de la solicitud para determinar el comportamiento de compresión/descompresión.

Configuración de la compresión/descompresión en el nivel de actividad

De forma predeterminada, la compresión/descompresión no se utiliza en todas las actividades de HTTP. Puede seleccionarse compresión o descompresión a nivel de actividad utilizando la casilla de verificación Utilizar compresión/descompresión que se muestra en la tarea Configurar de la actividad. La columna etiquetada Casilla de verificación Utilizar compresión/descompresión en la tabla mostrada en Comportamiento de compresión/descompresión en tiempo de ejecución representa el valor de la casilla de verificación Utilizar compresión/descompresión.

Nota: La casilla de verificación Utilizar compresión/descompresión dejará de utilizarse en un release futuro para actividades HTTP. Utilice los parámetros HTTP Content-Encoding y Accept-Encoding de la solicitud HTTP para especificar cómo debe descomprimirse el cuerpo de la solicitud HTTP y comprimirse el cuerpo de la respuesta HTTP.

Comportamiento de compresión/descompresión en tiempo de ejecución

La tabla proporcionada en la sección Comportamiento de compresión cuando se envía una petición describe el comportamiento de compresión en tiempo de ejecución cuando el Dispositivo de integración envía una petición HTTP al servidor HTTP.

La tabla incluida en la sección Valor de la cabecera Accept-Encoding pasado a la petición describe el valor de la cabecera Accept-Encoding pasado en la petición HTTP.

La tabla incluida en la sección Comportamiento de descompresión al recibir una respuesta describe el comportamiento de descompresión en tiempo de ejecución cuando el Dispositivo de integración recibe la respuesta HTTP del servidor HTTP.

Comportamiento de compresión al enviar una solicitud

La siguiente tabla describe el comportamiento de compresión en tiempo de ejecución cuando el Dispositivo de integración envía una petición HTTP al servidor HTTP.

Casilla de verificación Utilizar compresión/descompresión (nivel de actividad) Valor de Content-Encoding en la solicitud HTTP (nivel de mensaje) ¿Admite el punto final la compresión? Comportamiento en tiempo de ejecución de compresión del Dispositivo de integración al enviar una solicitud
seleccionada gzip, no establecido, o cualquier otra serie salvo deflate o identidad El Dispositivo de integración envía el cuerpo de la solicitud comprimido en formato gzip. La cabecera Content-Encoding se establece en gzip en la solicitud.
seleccionada deflate El Dispositivo de integración envía el cuerpo de la solicitud comprimido en formato deflate. La cabecera Content-Encoding se establece como deflate en la solicitud.
seleccionada identidad El Dispositivo de integración envía el cuerpo de la solicitud sin comprimir. La cabecera Content-Encoding se establece como identidad en la solicitud.
seleccionada el valor no es significativo no El Dispositivo de integración envía el cuerpo de la solicitud sin comprimir. La cabecera Content-Encoding se establece como identidad en la solicitud.
sin seleccionar el valor no es significativo el valor no es significativo El Dispositivo de integración envía el cuerpo de la solicitud tal cual (sin modificar). El valor actual de la cabecera Content-Encoding se transfiere tal cual en la solicitud.

 

Valor de la cabecera Accept-Encoding transferido a la solicitud

La siguiente tabla describe el valor de la cabecera de Accept-Encoding especificado en la solicitud HTTP.

Casilla de verificación Utilizar compresión/descompresión (nivel de actividad) Valor inicial de Accept-Encoding ¿Admite el punto final la compresión? Valor de Accept-Encoding transferido en la solicitud HTTP al servidor
seleccionada gzip La cabecera Accept-Encoding se establece como gzip en la solicitud.
seleccionada deflate La cabecera Accept-Encoding se establece como deflate en la solicitud.
seleccionada gzip,deflate La cabecera Accept-Encoding se establece como gzip,deflate en la solicitud.
seleccionada deflate,gzip La cabecera Accept-Encoding se establece como deflate,gzip en la solicitud.
seleccionada identidad La cabecera Accept-Encoding se establece como identidad en la solicitud.
seleccionada no establecido, o cualquier otra serie salvo deflate o identidad La cabecera Accept-Encoding se establece como gzip,deflate en la solicitud.
seleccionada el valor no es significativo no El valor actual de la cabecera Accept-Encoding se transfiere tal cual en la solicitud.
sin seleccionar el valor no es significativo el valor no es significativo El valor actual de la cabecera Accept-Encoding se transfiere tal cual en la solicitud.

Comportamiento de descompresión al recibir una respuesta

La siguiente tabla describe el comportamiento en tiempo de ejecución de la descompresión cuando el Dispositivo de integración recibe la respuesta HTTP del servidor HTTP.

Casilla de verificación Utilizar compresión/descompresión (nivel de actividad) Valor de Content-Encoding en la respuesta HTTP (nivel de mensaje) ¿Admite el punto final la compresión? Comportamiento en tiempo de ejecución de descompresión del Dispositivo de integración al recibir una respuesta
seleccionada gzip El Dispositivo de integración descomprime el cuerpo de la respuesta utilizando el formato gzip.
seleccionada deflate El Dispositivo de integración descomprime el cuerpo de la respuesta utilizando el formato deflate.
seleccionada identidad El Dispositivo de integración no descomprime el cuerpo de la respuesta.
seleccionada valor no incluido en la cabecera Accept-Encoding El Dispositivo de integración registra un error que indica que los datos de la respuesta se han recibido en un tipo de codificación del contenido no solicitado.
seleccionada el valor no es significativo no El Dispositivo de integración no descomprime el cuerpo de la respuesta. El valor actual de la cabecera Content-Encoding se transfiere tal cual en la respuesta.
sin seleccionar el valor no es significativo el valor no es significativo El Dispositivo de integración no descomprime el cuerpo de la respuesta.El valor actual de la cabecera Content-Encoding se transfiere tal cual en la respuesta.