ForHosting KIT · Monitorar sites

Resolver URL relativa com uma URL base

Transforme um link, caminho, query, fragmento ou referência relativa ao protocolo na URL absoluta exata que o navegador usaria.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Informe uma URL base absoluta e a referência encontrada em documento, feed, folha de estilos, manifesto ou resposta de API. O resolvedor aplica o padrão a segmentos, barras finais, queries, fragmentos, portas e mudanças de origem, entregando uma URL normalizada sem acessar o destino nem examinar conteúdo remoto. O processo é rápido e determinístico.

Comece pela URL completa que fornece o contexto

Uma referência relativa só tem significado em relação a outra URL. Informe esse contexto em base_url como uma URL absoluta completa, incluindo esquema e host quando o esquema exigir um host. O caminho é tão importante quanto o domínio. Por exemplo, uma base terminada em <code>/docs/page.html</code> trata uma referência simples como <code>image.png</code> como irmã da página, enquanto uma base terminada em <code>/docs/</code> a trata como filha desse diretório. O resolvedor não tenta adivinhar se o caminho representa arquivo ou pasta; ele segue a sintaxe, principalmente a barra final. São aceitas as formas absolutas padrão reconhecidas pela implementação URL do navegador. Um valor como <code>/docs/page.html</code> não serve como base porque não contém esquema absoluto nem contexto de origem. Bases inválidas ou relativas geram erro de entrada, em vez de uma resposta que apenas parece correta. Essa rigidez revela problemas antes que links resolvidos cheguem a um crawler, uma importação, uma regra de redirecionamento ou um conjunto de dados persistido.

Entenda como cada referência altera a base

O campo relative_reference aceita mais do que um nome de arquivo. Uma barra inicial substitui o caminho base, mas mantém esquema e autoridade. Duas barras iniciais criam uma referência de rede, permitindo trocar o host e herdar o esquema. Segmentos como <code>../</code> sobem níveis, enquanto <code>./</code> permanece no nível atual; a normalização remove esses segmentos de navegação da URL final. Uma referência iniciada por <code>?</code> preserva o caminho e substitui a query. Quando começa por <code>#</code>, preserva caminho e query e altera o fragmento. Uma referência totalmente absoluta substitui a base, conforme determina o padrão. Esta capacidade rejeita referências vazias para não confundir um campo ausente por engano com a reutilização intencional da base. Caracteres codificados por porcentagem continuam codificados conforme as regras de serialização, enquanto hosts, portas padrão e outros componentes podem ser normalizados para a forma canônica produzida pelo analisador padrão.

Use o resultado serializado sem fazer uma requisição

O resultado contém absolute_url, a URL normalizada e serializada depois da resolução. Nenhuma consulta DNS, requisição HTTP, verificação de disponibilidade, descarga ou sequência de redirecionamentos é executada. Essa separação ajuda quando você precisa de uma transformação determinística, e não de um teste do site em tempo real: as mesmas duas entradas sempre produzem a mesma saída, mesmo que o host não exista ou o recurso seja privado. Use o resultado para normalizar links extraídos de HTML, preparar filas de crawling, expandir referências em feeds, validar fixtures, montar entradas de sitemap ou comparar URLs de maneira uniforme antes da deduplicação. A resolução sintática não comprova que o destino seja seguro, acessível, público ou autorizado. Se os valores vierem de usuários não confiáveis, aplique as políticas de esquema, host e acesso à rede do seu aplicativo antes de buscar a URL devolvida. A API e o executor do navegador usam o mesmo algoritmo puro. Cada requisição de API custa US$ 0,002; a execução local nesta página é gratuita.

Expandir links extraídos de uma página

Converta valores relativos de href e src em URLs absolutas usando a URL do documento de origem.

Normalizar itens de uma fila de crawling

Resolva segmentos de ponto, caminhos desde a raiz, queries e fragmentos antes do crawling ou da deduplicação.

Testar rotas e fixtures de URL

Gere URLs esperadas determinísticas para testes sem contatar hosts nem depender do estado da rede.

O que uma barra final muda na URL base?

Ela determina se o último segmento é tratado como diretório. Sem a barra, um caminho relativo simples substitui esse segmento; com ela, o caminho é acrescentado dentro do diretório.

A referência relativa pode ser uma URL absoluta?

Sim. A resolução padrão retorna essa URL absoluta independentemente da base, aplicando a serialização normal.

A ferramenta verifica se a URL resolvida existe?

Não. Ela não faz requisição de rede, consulta DNS, verificação de redirecionamento nem teste de disponibilidade.

Referências contendo somente query ou fragmento são aceitas?

Sim. Uma referência iniciada por ? substitui a query; uma iniciada por # altera o fragmento conforme as regras padrão.

O que acontece quando a URL base é relativa?

A requisição falha com erro de entrada inválida, pois uma base relativa não fornece contexto suficiente para gerar uma URL absoluta.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/web/absolute-url-resolve

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/web/absolute-url-resolve \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"base_url":"https://example.com/docs/guides/start.html","relative_reference":"../images/logo.svg?theme=dark#mark"}'
{
  "base_url": "https://example.com/docs/guides/start.html",
  "relative_reference": "../images/logo.svg?theme=dark#mark"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "web.absolute_url_resolve",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

timeout_sec30
max_crawl_pages25
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Ver a documentação completa do KIT →