通过“HTTP 发送响应”活动进行压缩/解压

在运行时期间,HTTP 发送响应活动向 HTTP Client 发送与 HTTP/HTTPS 1.0 协议兼容的 HTTP 响应。

注: HTTP 发送响应活动仅支持 gzip 格式的压缩。它不支持 deflate 格式或公共 UNIX 文件压缩格式(称为 compress)。

HTTP 发送请求活动的压缩运行时行为取决于下列条件:

在以下部分以及运行时压缩行为部分中提供的表中描述了这些条件对 HTTP 发送响应活动的压缩运行时行为的影响。

消息级别的接受编码值

在运行时期间,HTTP 接收请求活动从 HTTP Client 接收 HTTP 请求。在同一编排中,HTTP 发送响应活动将 HTTP 响应发送回到原始客户机。HTTP 接收请求活动收到的原始请求中的接受编码头值以内部方式存储在 Integration Appliance 上。存储值会传递到 HTTP 发送响应活动并用于确定响应主体是否已压缩以及编码类型,如下图中所示。

如果使用 HTTP 发送响应活动的可选 httpheaders 输入参数显式设置了内容编码或接受编码头值,那么这些新值会覆盖通过请求传入的这些头的缺省设置。 例如,如果接受编码在请求中设置为 gzip,deflate,但是在 HTTP 发送响应活动的 httpheaders 输入参数中显式设置为 identity,那么 Integration Appliance 不压缩响应主体。

要显式设置接受编码头,请在 HTTP 发布请求活动的映射输入任务中的 headerItem 节点内提供下列值:

  • httpheaders/httpheaders/otherHeaders/headerItem/name 设置为字符串:Accept-Encoding
  • httpheaders/httpheaders/otherHeaders/headerItem/value 设置为编码类型,例如字符串:identity

设置活动级别的压缩/解压

缺省情况下,在活动级别为 HTTP 发送响应活动打开了压缩。 您可以清除使用压缩/解压复选框以在活动级别关闭压缩。使用压缩/解压复选框在活动的配置任务中可用。下表中标示为“HTTP 压缩 CLI 命令”的第二列表示使用压缩/解压复选框的设置。

运行时压缩行为

下表描述 Integration Appliance 向 HTTP Client 发送 HTTP 响应时的压缩运行时行为:

“使用压缩/解压”复选框(活动级别) HTTP 请求的接受编码值(消息级别) Integration Appliance 压缩运行时行为
已选中 gzip 或 gzip,deflate Integration Appliance 发送以 gzip 格式压缩的响应主体,并且内容编码头在响应中设置为 gzip。
已选中 identity Integration Appliance 发送未压缩的响应主体,并且内容编码头在响应中设置为 identity。
已选中 未设置或除 gzip 或 identity 之外的任何其他字符串 Integration Appliance 发送未压缩的响应主体,并且内容编码头在响应中设置为 identity。
已清除 值无关紧要 Integration Appliance 将按原样(未作任何更改)发送响应主体,而且内容编码头在响应中将保持原样。(请求中的内容编码头值将发送到响应且不作任何更改。)
注: 在将来发行版中不推荐使用使用压缩/解压复选框。在 HTTP 请求中使用内容编码和接受编码 HTTP 参数可以指定如何解压 HTTP 请求的主体并压缩 HTTP 响应的主体。