Todos os produtos
Search
Central de documentação

:Perguntas frequentes sobre a operação Fetch

Última atualização: Jul 05, 2026

Perguntas frequentes sobre a API Fetch no EdgeRoutine (ER), abordando descompactação, limites de sub-requisições, validação de URL e pools de conexões.

A Fetch oferece suporte à descompactação?

Por padrão, a Fetch descompacta as respostas automaticamente. Os seguintes métodos de descompactação estão disponíveis:

  • decompress: método padrão. Lê o cabeçalho content-encoding da resposta e utiliza o algoritmo de descompactação especificado pelo valor não Identity mais à direita. Por exemplo, em content-encoding: gzip, identity, gzip é o algoritmo de descompactação. Se esse valor for removido do cabeçalho de resposta, ocorrem os seguintes cenários:

    • content-encoding: identity, gzip é o cabeçalho de resposta original. Após a remoção do gzip, o cabeçalho se torna content-encoding: identity.

    • content-encoding: gzip é o cabeçalho de resposta original. Após a remoção do gzip, resta apenas content-encoding.

    Nota

    Após a remoção do algoritmo do cabeçalho de resposta, os dados tornam-se legíveis, assim como quando o servidor de origem retorna dados não compactados. O ER suporta apenas Gzip e gera uma exceção para algoritmos não reconhecidos. O suporte ao Brotli pode ser adicionado em versões futuras.

  • fallbackIdentity: semelhante ao decompress, mas não gera exceções quando a descompactação falha. Em vez disso, o ER trata o valor do algoritmo não reconhecido como Identity e transmite os dados sem descompactação. Nesse caso, os dados podem permanecer ilegíveis se ainda estiverem compactados.

  • manual: não descompacta os dados.

Para definir manualmente uma política de descompactação, use um dos seguintes métodos:

  • fetch(url, {decompress: "manual"})

  • fetch(url, {decompress: "fallbackIdentity"})

Qual é o número máximo de sub-requisições suportadas pela Fetch?

A Fetch suporta no máximo 32 sub-requisições. Esse limite aplica-se a todos os contextos, incluindo requisições capturadas em pontos de presença (POPs), redirecionamentos 3xx e chamadas à Cache API. Para solicitar um aumento de cota, envie um ticket.

O ER consegue identificar URLs inválidas?

O ER não valida URLs. Caso uma URL contenha caracteres inválidos, o ER retornará um erro de codificação. Certifique-se de que suas URLs estejam formatadas corretamente.

Qual é o número máximo de conexões suportadas por um pool de conexões?

O ER fornece um pool de conexões para a Fetch, evitando que handshakes TCP ou SSL consumam todas as conexões. Por padrão, o pool suporta até 128 conexões. Ao atingir esse limite, o pool para de armazenar novas conexões em cache. Para aumentar essa cota, solicite um ajuste.

Os pools de conexões são definidos por usuário, e não por requisição. Se nenhuma conexão existente estiver disponível, o ER tentará criar uma nova. O ER armazena uma conexão em cache somente após recuperar todo o corpo da resposta.

O código a seguir demonstra como garantir o consumo completo do corpo da resposta:

async function fetchAndIgnore(url, options) {
  let response = await fetch(url, options);
  // This method forces ER to ignore the response body and ensures that the entire response body is retrieved. 
  await response.ignore();
}