Analisador de URL

Cole qualquer URL e veja suas partes: esquema, host, porta, caminho, parâmetros da consulta, fragmento e userinfo — bruto e decodificado.

A URL é separada localmente pelo analisador do seu navegador. Nada é buscado e nada sai do seu dispositivo.

ComponenteValor
Cole uma URL para ver a anatomia.

Como funciona

Tudo aqui confia no parser WHATWG do próprio navegador — a mesma implementação que atende requisições reais —, então a anatomia mostrada bate com o que a pilha de rede realmente entende. Ela divide a string pela gramática da RFC 3986: scheme ":" [ "//" authority ] path [ "?" query ] [ "#" fragment ], e a autoridade contém um userinfo@ opcional, o host e :port.

A gramática dos componentes
A análise percorre a URL da esquerda para a direita: tudo até o primeiro : é o esquema; a autoridade só vem em seguida se vier //; a consulta é tudo entre o primeiro ? e qualquer #; o fragmento é o que vem depois do #. Chaves de consulta repetidas viram linhas separadas em vez de colapsadas, porque ordem e duplicação podem ser significativas.
Por que os navegadores são mais tolerantes que a especificação
O construtor URL apara espaços soltos, coloca esquema e host em minúsculas, escapa automaticamente caracteres ilegais no caminho e aceita portas omitidas quando são as padrão — uma leniência padronizada para que digitar exemplo.com funcione. É também por isso que uma URL absoluta precisa de esquema: sem ele não há em que ancorar a análise, então a ferramenta oferece prefixar https:// por você.
A consulta vai ao servidor, o fragmento nunca
O que vem depois do # é uma marca do lado do cliente: os navegadores enviam caminho e consulta ao servidor mas mantêm o fragmento local, para âncoras de rolagem e roteamento de página única. Se um valor precisa chegar ao backend, ele vai na consulta; o que você põe depois do # é, sendo honesto, tão privado quanto um bookmark que você pode compartilhar.

Perguntas frequentes

URLs mailto: ou data: funcionam aqui?

Em parte. O objeto URL do navegador aceita qualquer esquema, então mailto:[email protected] se divide no protocolo mailto: e o endereço cai no espaço do caminho — mas não há host, porta, consulta nem fragmento a exibir, e isso está certo: esses componentes simplesmente não existem nesses esquemas. URLs javascript: e data: são analisadas da mesma forma como esquema mais caminho opaco, e este analisador nunca executará o que elas contêm.

Por que espaços voltam como %20 depois de editar e copiar?

Porque percent-encoding não é decoração, é a gramática das URLs: um espaço cru não é um byte legal, então todo serializador o reescreve como %20 (ou + em queries de formulário antigas). A coluna Bruta mostra sempre a forma de transporte, a Decodificada mostra o significado, e copiar qualquer uma produz uma string que sobrevive intacta à volta ao navegador.

Para onde foram os colchetes do meu host IPv6?

Eles continuam lá — endereços IPv6 contêm dois-pontos que colidiriam com o separador de porta, então a RFC 3986 os envolve em colchetes: http://[2001:db8::1]:8080/. O objeto URL remove os colchetes ao entregar o hostname, e esta ferramenta devolve o host entre colchetes por honestidade de exibição. Readicione os colchetes ao colar o endereço puro numa URL.

A ferramenta decodifica sequências de porcentagem duas vezes?

Não — exatamente uma passada, porque adivinhar sobre dupla codificação quebra dados legítimos. Mas se um valor ainda contém uma sequência %XX depois daquela passada única, a coluna Notas sinaliza como possivelmente dupla-codificado; decodifique de novo de propósito se isso bater com o esperado, já que um %25 real no dado original parece igual.

Algo é enviado para um servidor?

Não. A URL é separada pelo próprio parser WHATWG do navegador, localmente na sua aba. Nada é buscado, nenhuma requisição é enviada à URL colada, e nenhuma análise toca nos componentes — incluindo credenciais embutidas no endereço.