O que é uma URL?
URL (Uniform Resource Locator) é o endereço de um recurso na internet: uma página, uma imagem, uma API. Ela diz ao navegador como acessar (protocolo), onde (domínio e porta) e o quê (caminho, parâmetros e fragmento). Esta ferramenta usa o interpretador de URLs do próprio navegador, o mesmo que ele usa ao abrir um link.
Partes de uma URL
Veja como https://www.exemplo.com.br:8080/produtos?id=123&categoria=notebook#ofertas se divide:
- Protocolo (
https:): a forma de comunicação. - Hostname (
www.exemplo.com.br): o servidor. O host é o hostname mais a porta, quando ela aparece. - Porta (
8080): omitida quando é a padrão do protocolo (443 no https, 80 no http). - Caminho (
/produtos): o recurso dentro do servidor. - Query string (
?id=123&categoria=notebook): parâmetros enviados ao servidor. - Fragmento (
#ofertas): um ponto dentro da página; o navegador não o envia ao servidor. - Origem: protocolo + host + porta; define o que o navegador considera "o mesmo site" em regras de segurança como o CORS.
Query string e parâmetros
A query string começa depois do ? e traz pares nome=valor separados por &. O mesmo nome pode aparecer mais de uma vez (?cor=azul&cor=verde). Ao analisar uma URL, cada parâmetro aparece decodificado em uma linha que você pode editar, e a URL é refeita com a codificação correta. Na seção "Montar URL", você adiciona quantos parâmetros quiser e a ferramenta cuida dos caracteres especiais.
Dica: pesquisas, filtros e códigos de campanha costumam ir em parâmetros. Para conferir o resultado de uma requisição feita com esse endereço, consulte os códigos de status na ferramenta HTTP Status Codes.
O que é URL encoding?
URLs só podem conter um conjunto limitado de caracteres. Espaços, acentos, emojis e símbolos como & ou # precisam ser codificados em percent-encoding: cada byte (em UTF-8) vira % mais dois dígitos hexadecimais. Assim, Olá mundo! vira Ol%C3%A1%20mundo!: o "á" ocupa dois bytes em UTF-8 (%C3%A1) e o espaço vira %20.
Sem a codificação, caracteres como & e # em um valor seriam entendidos como separadores e quebrariam o parâmetro.
Diferença entre encodeURI e encodeURIComponent
As duas funções do JavaScript codificam texto, mas para finalidades diferentes:
encodeURIComponent()codifica tudo que não é letra, número ou- _ . ! ~ * ' ( ), inclusive/ ? & = # : @ + $ ,. Use em partes da URL, como o valor de um parâmetro:encodeURIComponent("a&b")resulta ema%26b.encodeURI()preserva os caracteres que estruturam uma URL (; , / ? : @ & = + $ #). Use em uma URL inteira que só precisa de espaços e acentos codificados:encodeURI("https://exemplo.com/pá gina")resulta emhttps://exemplo.com/p%C3%A1%20gina.
Usar encodeURI em um valor de parâmetro é um erro comum: o & dentro do valor continuaria sendo um separador. A ferramenta de codificação acima tem os dois modos para você comparar. Para codificar texto em outro formato, veja o Conversor Base64.
Exemplos de uso
- Descobrir de qual servidor, caminho e parâmetros um link realmente é, antes de clicar.
- Montar links de campanha com parâmetros UTM sem errar a codificação.
- Depurar um parâmetro que chega com
%20ou caracteres estranhos. - Gerar endereços de API com acentos e espaços nos valores.
- Entender por que uma URL está com porta, usuário ou fragmento inesperados.
Se você trabalha com redes, veja também o Conversor IPv4 e a Calculadora de Sub-rede IPv4.