§

URL

§

Componentes da URL

URL completa (href)
Protocolo
Nome de utilizador
Senha
Host
Hostname
Porta
Pathname
Search (bruto)
Hash (fragmento)
Origin
§

Parâmetros de consulta

Chave Valor (bruto) Valor decodificado

Sem parâmetros de consulta nesta URL

Equipas de conformidade que respondem à ANPD no âmbito da LGPD brasileira usam regularmente a inspeção de URLs para auditar deep links de plataformas de saúde digital e fintech: parâmetros como `redirect_uri`, `state` e `cpf` precisam estar corretamente delimitados para cumprir o Art. 46 da Lei nº 13.709/2018. Em Portugal, o CNCS (Centro Nacional de Cibersegurança) recomenda a inspeção manual de URLs em relatórios de phishing submetidos via cert.pt — analisar a query string revela alvos de redirecionamento dissimulados. Este analisador usa o padrão WHATWG nativo, tal como o fetch, o Node.js ou uma função Lambda observariam.

Como funciona a análise de URL

O analisador usa o padrão WHATWG URL, o mesmo algoritmo que o navegador usa para qualquer href. Passamos a string ao construtor URL nativo e lemos cada componente como uma propriedade.

  1. Validar a entrada. Uma string vazia apresenta um aviso de entrada vazia. Caso contrário, passamos o texto a new URL(text); um TypeError indica que a string não é uma URL absoluta válida.
  2. Ler os componentes estruturais. Lemos protocol, username, password, host, hostname, port, pathname, search, hash e origin do objeto URL. Cada um fica na sua própria linha para poder ser copiado individualmente.
  3. Percorrer a query string. Iteramos url.searchParams.entries() e apresentamos uma linha de tabela por chave. O valor bruto fica ao lado de decodeURIComponent(value) para que payloads codificados em percentagem (espaços, sinais de mais, Unicode) sejam legíveis.
  4. Reconstruir a pedido. Edite qualquer célula, elimine uma linha ou adicione um novo parâmetro e clique em Reconstruir URL. A ferramenta constrói um novo objeto URL a partir das suas edições e escreve o resultado de volta na caixa de entrada.
  5. Modo ao vivo. Ative o modo ao vivo e cada tecla reanalisará a URL com um debounce de 150 ms. Útil quando está a colar fragmentos de um log e quer feedback imediato.

Por que analisar uma URL no navegador

  • Nada sai da aba. As URLs transportam tokens, IDs de sessão, estado OAuth e parâmetros de consulta assinados que não deve partilhar com um serviço de terceiros. Este analisador usa o mesmo algoritmo URL que o seu navegador já executa localmente — sem upload, sem chamada de rede.
  • Corresponde ao que o seu código vê. Node.js, Deno, navegadores modernos e Cloudflare Workers usam todos a implementação WHATWG URL. Inspecionar uma URL aqui dá-lhe a mesma divisão por componentes que uma chamada new URL(input) daria em produção.
  • Lê query strings como os humanos. Os valores brutos e decodificados ficam lado a lado, pelo que um par q=hello%20world apresenta tanto os bytes da rede como o legível hello world de uma vez. Sem necessidade de decodificação mental de URL.
  • Edição de ida e volta. Elimine um parâmetro de rastreio, corrija um erro de digitação no caminho, mude uma porta — e reconstrua a URL. A saída passa novamente pelo construtor URL para que qualquer valor inválido seja detetado antes de o copiar.

Aplicações comuns

A análise de URL aparece no trabalho diário de desenvolvimento, segurança e análise sempre que uma URL é mais do que apenas um link.

  • Depuração de endpoints de API: confirme uma URL de base, caminho e parâmetros de consulta antes de enviar um pedido curl ou Postman.
  • Auditorias de parâmetros de rastreio: liste todos os UTM, gclid, fbclid ou chaves de campanha numa URL de landing page e decida quais manter.
  • Validação de links de afiliados e parceiros: cole um deeplink, confirme o host de destino e o alvo de redirecionamento incorporado antes de publicar.

Um exemplo prático

Cole https://example.com/search?q=hello%20world&lang=en na entrada. O protocolo lê https:, o hostname lê example.com, o pathname lê /search e o search lê ?q=hello%20world&lang=en. A tabela de consulta mostra duas linhas: q com valor bruto hello%20world e valor decodificado hello world, depois lang com valores bruto e decodificado en. Clique em Remover na linha lang, depois em Reconstruir URL — a entrada atualiza para https://example.com/search?q=hello%20world.

FAQ

O que é um analisador de URL?

Um analisador de URL recebe uma string de URL e decompõe-na em componentes nomeados: protocolo (https), informação de utilizador (nome de utilizador, senha), host (hostname mais porta opcional), caminho, query string e fragmento. Também decodifica cada parâmetro de consulta para que os valores codificados em percentagem (como %20 para um espaço) sejam legíveis. O analisador aqui usa o padrão WHATWG URL, o mesmo que o seu navegador usa para carregar uma página.

Qual é a diferença entre host e hostname?

O hostname é apenas o domínio (ou endereço IP) — para example.com:8080 o hostname é example.com. O host é o hostname mais a porta quando uma porta não predefinida está presente, por isso a mesma URL tem um host de example.com:8080. Para URLs em portas predefinidas (443 para https, 80 para http), o host e o hostname são idênticos.

A decodificação ocorre automaticamente?

Os componentes estruturais (protocolo, hostname, porta, pathname) são lidos diretamente do objeto URL sem decodificação extra — o construtor URL já os normaliza. Os valores de consulta são mostrados duas vezes: a string bruta codificada em percentagem tal como aparece em search, e o valor decodificado produzido por decodeURIComponent. Assim pode copiar a forma que a sua ferramenta downstream espera.

Posso editar e reconstruir a URL?

Sim. Cada célula de componentes e cada célula de parâmetro de consulta é editável. Adicione ou remova linhas de consulta com os botões Adicionar e Remover, depois clique em Reconstruir URL a partir das partes. A ferramenta passa as suas edições novamente pelo construtor URL e escreve o resultado na entrada — se as edições produzirem uma URL inválida, recebe a mesma mensagem de erro que obteria de new URL() no seu próprio código.

A análise de URL é uma dessas pequenas tarefas que todo o programador web faz todas as semanas. Fazê-la no navegador, com o mesmo algoritmo que o código de produção usa, mantém o trabalho rápido e os dados na sua máquina.