Durante o tempo de execução, a atividade Solicitação de HTTP Invoke/Get/Post/Head/Put/Delete envia uma solicitação de HTTP compatível com o protocolo HTTP/HTTPS 1.1 para o servidor HTTP.
O comportamento do tempo de execução de compactação/descompactação da atividade Solicitação de HTTP Invoke/Get/Post/Head/Put/Delete depende das condições a seguir:
Os efeitos dessas condições no comportamento de tempo de execução de compactação/descompactação da atividade Solicitação de HTTP Invoke/Get/Post/Head/Put/Delete são descritos nas seções a seguir e tabelas fornecidas na seção Comportamento de Compactação/Descompactação do Tempo de Execução.
O Integration Appliance determina se o Terminal HTTP suporta ou não a compactação quando o Integration Appliance envia a primeira solicitação de HTTP no formato compacto para o Terminal HTTP (o Servidor HTTP), se o Servidor HTTP retornar um código de erro indicando que o Servidor HTTP não suporta a compactação ou não suporta o tipo de Content-Encoding especificado, o Integration Appliance reenviará a primeira solicitação no formato descompactado e todas as solicitações subsequentes para este Terminal serão enviadas no formato descompactado. Além disso, a resposta de HTTP enviada pelo Servidor HTTP não é descompactada quando recebida pelo Integration Appliance.
O suporte do terminal para compactação/descompactação é representado pela coluna rotulada Terminal Suporta Compactação? nas tabelas fornecidas na seção Comportamento de Compactação/Descompactação do Tempo de Execução.
O valor do cabeçalho Content-Encoding no pedido de HTTP determina se o corpo do pedido é compactado e o tipo de codificação usada. Por exemplo, se Content-Encoding for igual a deflate, o Integration Appliance enviará o corpo da solicitação compactada no formato deflate conforme mostrado na segunda linha da primeira tabela rotulada Comportamento de Compactação ao Enviar uma Solicitação e na figura a seguir.
Os valores para os cabeçalhos Accept-Encoding e Content-Encoding para a solicitação podem ser configurados explicitamente usando pares de nome/valor no parâmetro de entrada httpheaders opcional da tarefa Mapear Entradas na atividade Solicitação de HTTP Invoke/Get/Post/Head/Put/Delete. Por exemplo, para configurar o Content-Encoding como deflate, configure o par nome/valor a seguir no parâmetro de entrada httpheaders opcional:
Se valores não suportados ou nenhum valor for configurado para os cabeçalhos Accept-Encoding e Content-Encoding do pedido, valores-padrão serão fornecidos conforme mostrado nas tabelas a seguir:
Os valores dos cabeçalhos Accept-Encoding e Content-Encoding no pedido são usados pelo Integration Appliance e pelo servidor HTTP para determinar o comportamento de compactação/descompactação.
Por padrão, a compactação/descompactação não é usada para todas as atividades HTTP. É possível selecionar compactação ou descompactação em nível de atividade usando a caixa de seleção Usar Compactação/Descompactação que é exibida na tarefa Configurar da atividade. A coluna rotulada Usar caixa de seleção de compactação/descompactação na tabela mostrada em Comportamento de Compactação/Descompactação do Tempo de Execução representa a configuração da caixa de seleção Usar Compactação/Descompactação.
A tabela fornecida na seção Comportamento da Compactação ao Enviar uma Solicitação descreve o comportamento de compactação do tempo de execução quando o Integration Appliance envia uma solicitação de HTTP para o servidor HTTP.
A tabela fornecida na seção Valor do Cabeçalho Accept-Encoding Passado para a Solicitação descreve o valor do cabeçalho Accept-Encoding passado na solicitação de HTTP.
A tabela fornecida na seção Comportamento da Descompactação ao Receber uma Resposta descreve o comportamento de descompactação do tempo de execução quando o Integration Appliance recebe a resposta HTTP do servidor HTTP.
A tabela a seguir descreve o comportamento de compactação do tempo de execução quando o Integration Appliance envia uma solicitação de HTTP para o servidor HTTP.
Caixa de Opção Usar Compactação/Descompactação (Nível de Atividade) | Valor de Content-Encoding no Pedido de HTTP (Nível de Mensagem) | O Terminal Suporta Compactação? | Comportamento do Tempo de Execução da Compactação do Integration Appliance ao Enviar uma Solicitação |
---|---|---|---|
selecionada | gzip, não configurado ou qualquer outra cadeia, exceto deflate ou identity | sim | O Integration Appliance envia o corpo do pedido compactado no formato gzip. O cabeçalho Content-Encoding é configurado como gzip na solicitação. |
selecionada | deflate | sim | O Integration Appliance envia o corpo do pedido compactado no formato deflate. O cabeçalho Content-Encoding é configurado como deflate na solicitação. |
selecionada | identity | sim | O Integration Appliance envia o corpo do pedido descompactado. O cabeçalho Content-Encoding é configurado como identity na solicitação. |
selecionada | o valor não é significativo | não | O Integration Appliance envia o corpo do pedido descompactado. O cabeçalho Content-Encoding é configurado como identity na solicitação. |
desmarcada | o valor não é significativo | o valor não é significativo | O Integration Appliance envia o corpo da solicitação no estado em que se encontra (inalterado). O valor atual do cabeçalho Content-Encoding é transmitido no estado em que se encontra na solicitação. |
A tabela a seguir descreve o valor do cabeçalho Accept-Encoding transmitido na solicitação de HTTP.
Caixa de Opção Usar Compactação/Descompactação (Nível de Atividade) | Valor Inicial de Accept-Encoding | O Terminal Suporta Compactação? | Valor de Accept-Encoding Passado no Pedido de HTTP para o Servidor |
---|---|---|---|
selecionada | gzip | sim | O cabeçalho Accept-Encoding é configurado como gzip na solicitação. |
selecionada | deflate | sim | O cabeçalho Accept-Encoding é configurado como deflate na solicitação. |
selecionada | gzip,deflate | sim | O cabeçalho Accept-Encoding é configurado como gzip,deflate na solicitação. |
selecionada | deflate,gzip | sim | O cabeçalho Accept-Encoding é configurado como deflate,gzip na solicitação. |
selecionada | identity | sim | O cabeçalho Accept-Encoding é configurado como identity na solicitação. |
selecionada | não configurado ou qualquer outra cadeia, exceto deflate, gzip ou identity | sim | O cabeçalho Accept-Encoding é configurado como gzip,deflate na solicitação. |
selecionada | o valor não é significativo | não | O valor atual do cabeçalho Accept-Encoding é transmitido no estado em que se encontra na solicitação. |
desmarcada | o valor não é significativo | o valor não é significativo | O valor atual do cabeçalho Accept-Encoding é transmitido no estado em que se encontra na solicitação. |
A tabela a seguir descreve o comportamento do tempo de execução da descompactação quando o Integration Appliance recebe a resposta de HTTP do Servidor HTTP.
Caixa de Opção Usar Compactação/Descompactação (Nível de Atividade) | Valor de Content-Encoding na Resposta de HTTP (Nível de Mensagem) | O Terminal Suporta Compactação? | Comportamento do Tempo de Execução de Descompactação do Integration Appliance ao Receber uma Resposta |
---|---|---|---|
selecionada | gzip | sim | O Integration Appliance descompacta o corpo da resposta usando o formato gzip. |
selecionada | deflate | sim | O Integration Appliance descompacta o corpo da resposta usando o formato deflate. |
selecionada | identity | sim | O Integration Appliance não descompacta o corpo da resposta. |
selecionada | valor não listado no cabeçalho Accept-Encoding | sim | O Integration Appliance registra um erro que os dados de resposta foram recebidos em um tipo de codificação de conteúdo não solicitado. |
selecionada | o valor não é significativo | não | O Integration Appliance não descompacta o corpo da resposta. O valor atual do cabeçalho Content-Encoding é passado no estado em que se encontra na resposta. |
desmarcada | o valor não é significativo | o valor não é significativo | O Integration Appliance não descompacta o corpo da resposta. O valor atual do cabeçalho Content-Encoding é passado no estado em que se encontra na resposta. |