Buscar SolicitInit - Escopo, Global

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 8 min. de leitura
  • . SolicitInit A API fornece opções para configurar uma solicitação de busca.

    Você pode passar um objeto RequestInit para Solicitação () construtor ou diretamente no buscar() chamada de função. Você também pode criar uma solicitação com um RequestInit() E passe a solicitação para um buscar() chamada junto com outro RequestInit() . Se você fizer isso quando a mesma opção for definida em ambos os lugares, o valor será passado diretamente para buscar() é usado.

    Esta API faz parte de um conjunto de Buscar APIs, que fornecem várias ações para buscar recursos de sites externos. Completo Buscar A coleção de APIs inclui:

    Para oferecer suporte a ações de busca, a propriedade do sistema, glide.hosts.allowlist permite controles sobre o que hosts um método de busca pode acessar. Aplica-se a APIs HTTP como RestMessageV2 e as mencionadas acima. Para obter mais informações sobre glide.hosts.allowlist , consulte Available system properties.

    Buscar RequestInit - RequestInit

    Defina opções para configurar uma solicitação de busca. Você pode passar um objeto RequestInit para Solicitação () construtor ou diretamente no buscar() chamada de função.

    RequestInit propriedades

    . SolicitInit A API oferece suporte a várias propriedades opcionais que podem ser usadas para configurar o comportamento da solicitação HTTP. Suas propriedades incluem método (Método HTTP), cabeçalhos (cabeçalhos de solicitação), corpo (dados a serem enviados), modo (Modo CORS), credenciais (detalhes da autenticação), cache (comportamento de cache) e outros como redirecionar , referenciador e integridade . Essas opções permitem ajustar o comportamento da solicitação para vários casos de uso. Para ler explicações mais detalhadas sobre cada propriedade, consulte https://developer.mozilla.org/en-US/docs/Web/API/RequestInit.

    Tabela 1. RequestInit propriedades
    Nome da propriedade Descrição
    AtribuçãoRelatório Opcional. Indica que você deseja que a resposta da solicitação possa registrar uma fonte de atribuição baseada em JavaScript ou gatilho de atribuição.
    AtribuçãoRelatório é um objeto que contém as seguintes propriedades:
    • EventSourceElegible: Booliano. Se definido como verdadeiro , a resposta da solicitação está qualificada para registrar uma origem de atribuição. Se definido como falso , ele não está qualificado para registro como uma origem de atribuição.
    • TriggerElegible: Booliano. Se definido como verdadeiro , a resposta da solicitação está qualificada para registrar um gatilho de atribuição. Se definido como falso , ele não está qualificado para registro como gatilho de atribuição.

    Tipo de dados: Objeto

    corpo Opcional. O corpo da solicitação contém conteúdo a ser enviado ao servidor, por exemplo, em uma solicitação POST ou PUT.
    Tipos aceitos:
    • ArrayBuffer
    • uma cadeia de caracteres
    • Blob
    • Exibição de dados
    • Arquivo
    • FormData
    • ReadableStream
    • TypedArray
    • URLSearchParams
    BrowsingTopics Opcional. Sinalizador que indica se os tópicos selecionados para o usuário atual devem ser enviados em um cabeçalho Sec-Browsing-Topics com a solicitação associada.
    Valores aceitos:
    • Verdadeiro: Os tópicos selecionados para o usuário atual devem ser enviados em um cabeçalho Sec-Browsing-Topics
    • Falso: Os tópicos selecionados para o usuário atual não devem ser enviados em um cabeçalho Sec-Browsing-Topics.

    Tipo de dados: Booliano

    cache Opcional. O modo de cache a ser usado para a solicitação.
    Valores aceitos:
    • Padrão: O navegador procura no cache HTTP uma resposta correspondente à solicitação.
    • Force-cache: O navegador procura no cache HTTP uma resposta correspondente à solicitação.
    • sem cache: O navegador procura no cache HTTP uma resposta correspondente à solicitação.
    • no-store: O navegador busca o recurso do servidor remoto sem primeiro olhar no cache e não atualizará o cache com o recurso baixado.
    • Somente se estiver em cache: O navegador procura no cache HTTP uma resposta correspondente à solicitação.
    • Recarregamento: O navegador busca o recurso do servidor remoto sem primeiro olhar no cache, mas, em seguida, atualizará o cache com o recurso baixado.

    . somente se armazenado em cache o modo só pode ser usado se o modo da solicitação for mesma origem . Redirecionamentos em cache serão seguidos se a solicitação for redirecionar a propriedade é seguir e os redirecionamentos não violam mesma origem modo.

    Tipo de dados: Cadeia de caracteres

    credenciais Opcional. Controla se o navegador envia credenciais com a solicitação, bem como se os cabeçalhos de resposta Set-Cookie são respeitados. Credenciais são cookies, certificados de cliente TLS ou cabeçalhos de autenticação que contêm um nome de usuário e senha.
    Valores aceitos:
    • Incluir: Sempre inclua credenciais, mesmo para solicitações de origem cruzada.
      Nota:
      Incluir credenciais em solicitações de origem cruzada pode tornar um site vulnerável a ataques CSRF, mesmo que credenciais está definido como incluir , O servidor também deve concordar com sua inclusão, incluindo Access-Control-Allow-Credentials em sua resposta. Nessa situação, o servidor deve especificar explicitamente a origem do cliente no cabeçalho de resposta Access-Control-Allow-Origin (ou seja, * não é permitido).
    • Omitir: Nunca envie credenciais na solicitação ou inclua credenciais na resposta.
    • Mesma origem: Envie e inclua credenciais somente para solicitações da mesma origem.

    Padrão: Same-origin

    Tipo de dados: Cadeia de caracteres

    cabeçalhos Opcional. Cabeçalhos a serem adicionados à sua solicitação, contidos em um objeto Cabeçalhos ou um objeto literal cujas chaves são os nomes dos cabeçalhos e cujos valores são os valores do cabeçalho.

    Muitos cabeçalhos são definidos automaticamente pelo navegador e não podem ser definidos por um script; eles são chamados de nomes de cabeçalho proibidos.

    . modo a opção está definida como não cors , Você só pode definir cabeçalhos de solicitação com lista segura de CORS.

    Tipo de dados: Cadeia de caracteres

    integridade Opcional. Contém o valor de integridade do subrecurso da solicitação. Isso é verificado quando o recurso é obtido. O navegador calcula o hash do recurso obtido usando o algoritmo especificado e, se o resultado não corresponder ao valor especificado, o navegador rejeitará a solicitação de busca com um erro de rede.
    O formato desta opção é <hash-algo>-<hash-source> em que:
    • sha256, sha384 ou sha512 <hash-algo>.
    • <hash-source>: É a codificação Base64 do resultado do hash do recurso com o algoritmo de hash especificado.

    O padrão é uma cadeia de caracteres vazia.

    Tipo de dados: Cadeia de caracteres

    keepalive Opcional. Sinalizador que indica se a solicitação associada deve ser cancelada se a página que a iniciou for descarregada antes da conclusão da solicitação.

    O tamanho do corpo para keepalive as solicitações são limitadas a 64 kibibytes.

    Valores válidos:
    • Verdadeiro: O navegador não anula a solicitação associada.
    • Falso: Anula a solicitação associada.

    Tipo de dados: Booliano

    Padrão: falso

    method Opcional. O método de solicitação.

    Tipo de dados: Cadeia de caracteres

    Padrão: GET

    modo Opcional. Define o comportamento de origem cruzada para a solicitação.
    Valores válidos:
    • Same-origin: Não permite solicitações de origens cruzadas. Se for um mesma origem a solicitação foi enviada para uma origem diferente, o resultado é um erro de rede.
    • cors: Se a solicitação for de origem cruzada, ela usará o mecanismo CORS (Cross-Origin Resource Sharing, compartilhamento de recursos entre origens). Somente cabeçalhos de resposta com lista segura do CORS são expostos na resposta.
    • no-cors: Desabilita CORS para solicitações de origem cruzada. Esta opção vem com as seguintes restrições:
      • O método só pode ser um de CABEÇA , OBTER ou PUBLICAR .
      • Os cabeçalhos só podem ser cabeçalhos de solicitação com lista de segurança CORS, com a restrição adicional de que o cabeçalho Intervalo também não é permitido. Isso também se aplica a todos os cabeçalhos adicionados por trabalhadores de serviço.
      • A resposta é opaca, o que significa que seus cabeçalhos e corpo não estão disponíveis para JavaScript, e seu código de status é sempre 0 .
    • Navegar: Usado somente por navegação HTML. . navegar a solicitação é criada somente durante a navegação entre documentos.

    Tipo de dados: Cadeia de caracteres

    Padrão: cors

    prioridade Opcional. Especifica a prioridade da solicitação de busca em relação a outras solicitações do mesmo tipo.
    Valores válidos:
    • automático: Não há preferência do usuário para a prioridade de busca. É usado se nenhum valor for definido ou se um valor inválido for definido.
    • Alta: Uma solicitação de busca de alta prioridade relativa a outras solicitações do mesmo tipo.
    • Baixa: Uma solicitação de busca de baixa prioridade relativa a outras solicitações do mesmo tipo.

    Tipo de dados: Cadeia de caracteres

    Padrão: automático

    redirect Opcional. Determina o comportamento do navegador caso o servidor responda com um status de redirecionamento.
    Valores aceitos:
    • Seguir: Segue redirecionamentos automaticamente.
    • Erro: Rejeite a promessa com um erro de rede quando um status de redirecionamento for retornado.
    • Manual: Retorna uma resposta com quase todos os campos filtrados para permitir que um trabalhador de serviço armazene a resposta e a reproduza posteriormente.

    Tipo de dados: Cadeia de caracteres

    Padrão: Seguir

    referenciador Opcional. Uma cadeia de caracteres que especifica o valor a ser usado para o cabeçalho do referenciador da solicitação.
    Tipos de dados e valores aceitos:
    • Sobre:client: Defina Referenciador Cabeçalho para o valor padrão do contexto da solicitação (por exemplo, o URL da página que fez a solicitação).
    • Cadeia de caracteres vazia: Omita o. Referenciador cabeçalho.
    • URL relativa ou absoluta da mesma origem: Defina Referenciador cabeçalho para o valor fornecido. URLs relativos são resolvidos em relação ao URL da página que fez a solicitação.

    Padrão: About:client

    ReferrerPolicy Opcional. Uma cadeia de caracteres que define uma política para o cabeçalho do referenciador. A sintaxe e a semântica desta opção são exatamente as mesmas do cabeçalho Referrer-Policy.

    Tipo de dados: Cadeia de caracteres

    sinal Opcional. AbortSignal. Se esta opção estiver definida, a solicitação poderá ser cancelada chamando anular() no correspondente AbortController .

    Tipo de dados: Cadeia de caracteres

    Tabela 2. Retornos
    Tipo Descrição
    Nenhum(a)

    Passar opções para fetch()

    Este exemplo mostra como passar as opções de método, corpo e cabeçalhos diretamente para buscar() método:

    async function post() {
      const response = await fetch("https://example.org/post", {
        method: "POST",
        body: JSON.stringify({ username: "example" }),
        headers: {
          "Content-Type": "application/json",
        },
      });
    
      console.log(response.status);
    }

    Passe opções para o construtor request()

    Este exemplo mostra como criar uma solicitação e passar as opções de método, corpo e cabeçalhos para o construtor e passar a solicitação para buscar() :

    async function post() {
      const request = new Request("https://example.org/post", {
        method: "POST",
        body: JSON.stringify({ username: "example" }),
        headers: {
          "Content-Type": "application/json",
        },
      });
    
      const response = await fetch(request);
    
      console.log(response.status);
    }

    Passar opções para request() e fetch()

    Este exemplo mostra como criar um Solicitação () e passam as opções de método, corpo e cabeçalhos para o construtor. Em seguida, o script passa a solicitação para buscar() junto com as opções de corpo e referenciador.

    Nesse caso, a solicitação será enviada com as seguintes opções:
    • Método: "PUBLICAR"
    • "Content-Type": "Application/json"
    • ""username":"example2"""
    • referenciador: ""
    async function post() {
      const request = new Request("https://example.org/post", {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
        },
        body: JSON.stringify({ username: "example1" }),
      });
    
      const response = await fetch(request, {
        body: JSON.stringify({ username: "example2" }),
        referrer: "",
      });
    
      console.log(response.status);
    }