# Inspetor de URL

> Disseca qualquer URL em suas partes nomeadas: esquema, host, porta, caminho, parâmetros de query e fragmento. Decodifica escapes percent e hosts internacionalizados, e sinaliza credenciais e outros problemas. Roda inteiramente no seu navegador.

- Tool: https://ronutz.com/pt-BR/tools/url-inspector
- Family: Web e HTTP

---

## O que faz

Disseca qualquer URL em suas partes nomeadas: o esquema, o host, a porta, o caminho, os parâmetros de query individuais e o fragmento. Ela decodifica escapes percent e hostnames internacionalizados (punycode), sinaliza credenciais embutidas e outros problemas, e mostra a porta padrão do esquema. Tudo roda no seu navegador.

## As partes de uma URL

Uma URL tem uma gramática definida, estabelecida na RFC 3986, e a ferramenta divide uma URL em seus componentes de nível superior: o **esquema** (como `https`), a **autoridade** (que contém qualquer userinfo, o **host** e a **porta**), o **caminho**, a **query** e o **fragmento**. Em seguida, ela quebra a string de query em parâmetros individuais e decodifica o percent de cada um, para que uma query longa vire uma lista legível de pares nome-e-valor, em vez de uma única string opaca. Seguindo o WHATWG URL Standard, ela trata um `+` em uma query codificada como formulário como um espaço.

## Analisada como escrita, não normalizada

Uma escolha de design importante: a ferramenta analisa a URL exatamente como você a forneceu e não a normaliza silenciosamente. Isso importa porque as diferenças que um navegador suavizaria discretamente são muitas vezes exatamente o que você está tentando ver: uma porta inesperada, uma barra duplicada, um caractere codificado perdido. Mostrar a URL como escrita é o que a torna útil para depuração e para perceber algo suspeito.

## Decodificação e sinalização

Duas coisas em particular a ferramenta destaca:

- **Hostnames internacionalizados.** Um rótulo de host em forma punycode (começando com `xn--`) é decodificado de volta para seu texto Unicode (RFC 3492 e o arcabouço IDNA da RFC 5890), para você ver o nome real, o que também ajuda a revelar truques de domínios parecidos.
- **Credenciais embutidas.** Uma URL pode carregar um nome de usuário e uma senha na forma `usuário:senha@host`, e a ferramenta sinaliza isso, porque credenciais em uma URL são um erro comum e uma preocupação de segurança.

## Como usar

Cole uma URL e leia seu esquema, host, porta, caminho, parâmetros de query decodificados e fragmento, com quaisquer credenciais ou outros problemas sinalizados. A análise é determinística e local, então é seguro inspecionar qualquer URL, inclusive uma que você não queira visitar.

## Standards and references

- [RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax](https://www.rfc-editor.org/rfc/rfc3986) - the component grammar (scheme, authority, path, query, fragment) and the parsing regex
- [WHATWG URL Standard](https://url.spec.whatwg.org/) - browser URL parsing, special schemes, and the form-urlencoded query (plus as space)
- [RFC 3492 - Punycode: A Bootstring encoding for IDNA](https://www.rfc-editor.org/rfc/rfc3492) - decoding an xn-- host label back to Unicode
- [RFC 5890 - Internationalized Domain Names for Applications (IDNA)](https://www.rfc-editor.org/rfc/rfc5890) - the IDNA framework that the punycode host form belongs to

## Related reading

- [A Anatomia de uma URL](https://ronutz.com/pt-BR/learn/url-anatomy.md): Toda URL é construída a partir do mesmo punhado de partes definidas pela RFC 3986: esquema, autoridade (userinfo, host, porta), caminho, query e fragmento. O que cada parte significa, como um parser as distingue e onde os limites realmente caem.
- [Codificação de URL e Hosts Internacionalizados](https://ronutz.com/pt-BR/learn/url-encoding-and-idn.md): URLs são restritas a um pequeno conjunto de caracteres ASCII, então todo o resto é codificado. A codificação percent cuida de caminhos e queries; o punycode cuida de nomes de host não-ASCII. Como ambos funcionam, e por que hosts internacionalizados são uma preocupação de phishing.
- [O Proxy TCP: O Que um Middlebox de Camada 4 Vê e o Que Não Vê](https://ronutz.com/pt-BR/learn/tcp-proxy-layer-4.md): Um proxy TCP termina a conexão TCP do cliente e abre uma separada para o servidor, unindo dois fluxos independentes na Camada 4. Ele reescreve endereços e portas, pode agrupar e reutilizar conexões, e não vê nada do payload da aplicação acima do cabeçalho de transporte. Este artigo explica full-proxy versus encaminhamento de pacotes, por que o IP de origem desaparece, e como o Proxy Protocol o traz de volta.
- [Proxies HTTP: Forward vs Reverse, Explícito vs Transparente](https://ronutz.com/pt-BR/learn/http-proxy-forward-and-reverse.md): Um proxy HTTP parseia requisições na Camada 7, então pode rotear por URL, reescrever cabeçalhos e impor política sobre conteúdo que um proxy TCP não consegue ver. Dois eixos descrevem toda implantação: forward vs reverse (para qual lado ele trabalha) e explícito vs transparente (se o cliente sabe que ele está lá). Este artigo cobre o método CONNECT, o X-Forwarded-For e o Via, e onde cada combinação é usada.
- [Query Strings: Parâmetros, Sinais de Mais e Chaves Repetidas](https://ronutz.com/pt-BR/learn/query-strings.md): A parte de uma URL após o ponto de interrogação parece simples mas esconde ambiguidade real: como os parâmetros são separados, por que um sinal de mais às vezes significa espaço, como chaves repetidas se comportam e por que não há um único padrão governante.
- [Técnicas de evasão: como o Advanced WAF normaliza a codificação do atacante](https://ronutz.com/pt-BR/learn/awaf-evasion-techniques.md): Atacantes escondem payloads dentro de codificações incomuns para que uma assinatura nunca veja os caracteres reais. O BIG-IP Advanced WAF responde com oito subviolações de evasão sob a única violação 'Evasion technique detected', cada uma normalizando ou detectando um truque: %u decoding, Apache whitespace, Bad unescape, Bare byte decoding, Directory traversals, IIS backslashes, IIS Unicode codepoints e Multiple decoding. As oito são habilitadas por padrão.
- [URLs enganosas: lendo além dos truques](https://ronutz.com/pt-BR/learn/deceptive-urls.md): URLs são uma ferramenta favorita para phishing porque o destino real é fácil de disfarçar. O truque do userinfo, os parâmetros de redirecionamento e os caracteres parecidos, todos fazem um link hostil parecer amigável. Este artigo mostra os disfarces comuns e o único hábito confiável para encontrar o host real.
- [URLs relativas e como elas resolvem](https://ronutz.com/pt-BR/learn/relative-urls-and-resolution.md): Uma URL relativa deixa de fora o esquema e o host e é completada contra uma URL base. As regras de como um navegador preenche o resto, e como ./ e ../ e uma barra inicial mudam o resultado, explicam muitos links quebrados e algumas surpresas de segurança.
