Utilia

Analisador de URL

Cola um URL para veres o protocolo, o host, a porta, os segmentos do caminho, os parâmetros descodificados e o fragmento, e depois edita e reconstrói o URL.

Como analisar um URL

  1. Cola um URL em URL a analisar. É analisado enquanto escreves; também podes premir Enter ou clicar em Analisar URL.
  2. Lê as partes: Protocolo, Nome do host, Porta, Host (com porta), Origem, Nome de utilizador, Palavra-passe, Caminho e Fragmento (#).
  3. Consulta a lista Segmentos do caminho e a tabela Parâmetros de consulta, que mostra cada chave e cada valor descodificados, ao lado do texto Em bruto.
  4. Em Editar e reconstruir, altera uma chave ou um valor, clica em Adicionar um parâmetro ou Remover, ou edita o fragmento. O URL reconstruído atualiza-se enquanto escreves.
  5. Clica em Copiar para copiares o novo URL.

Se colares um endereço sem esquema, como example.com/pagina, a ferramenta assume https:// e avisa-te disso.

As partes de um URL

A ferramenta usa o analisador de URLs incluído no navegador, que segue o WHATWG URL Standard, por isso vê o endereço exatamente como um navegador o vê. Considera https://ann:secret@shop.example.com:8080/en/products?size=M#reviews:

  • O Protocolo (https:) é o esquema que diz ao navegador como obter o recurso.
  • O Nome de utilizador e a Palavra-passe (ann, secret) são credenciais opcionais. A palavra-passe fica oculta por omissão; marca Mostrar palavra-passe para a veres. Os navegadores atuais removem ou recusam estas credenciais nas ligações, e nunca deves partilhar um URL que as contenha.
  • O Nome do host (shop.example.com) é o nome do servidor. Os nomes de domínio internacionalizados aparecem na forma punycode (xn--…), que é a usada pelo DNS.
  • A Porta (8080) aparece quando o URL a indica. Caso contrário, a ferramenta indica a porta predefinida do esquema: 80 para http e ws, 443 para https e wss, 21 para ftp. Uma porta igual à predefinida, como :443 em https, é eliminada pelo analisador.
  • O Host (com porta) junta os dois, e a Origem é esquema + host + porta, a unidade que os navegadores usam para regras de segurança como o CORS.
  • O Caminho (/en/products) é dividido em Segmentos do caminho, cada um descodificado, por isso caf%C3%A9 lê-se café.
  • O Fragmento (#) (reviews) aponta para uma parte da página. Nunca é enviado ao servidor.

Parâmetros de consulta

A query string é dividida em cada &, e cada par no primeiro =. As chaves e os valores são descodificados da forma como os formulários HTML os codificam: as sequências %XX passam a caracteres e o + passa a espaço. As chaves repetidas, comuns em filtros e campos de escolha múltipla (size=M&size=L), são todas mantidas e assinaladas por ordem como «(repetido 1/2)», «(repetido 2/2)». Uma chave sem = aparece com valor vazio. Quando uma sequência não pode ser descodificada, é mostrado o texto em bruto.

Editar e reconstruir

O editor começa com os parâmetros atuais. As linhas vazias são ignoradas. A nova query string é codificada como num envio de formulário, tal como faz o URLSearchParams: os espaços passam a + e os caracteres reservados como &, = ou # são codificados em percentagem, para que um valor os possa conter sem problemas. É útil para remover parâmetros de rastreio, mudar o número de uma página ou construir ligações de teste. Quando a palavra-passe está oculta, também fica mascarada na caixa URL reconstruído, mas Copiar copia o URL real.

Perguntas frequentes

Porque é que a ferramenta diz que o meu URL não é válido?

As causas mais comuns são espaços no host, uma porta acima de 65535, um host em falta depois de https:// ou caracteres que não são permitidos num nome de host. Texto sem ponto, como uma única palavra, também não é tratado como nome de host.

O URL é visitado ou enviado para algum lado?

Não. O endereço só é analisado no teu navegador. Não é feito nenhum pedido ao site.

Porque é que %20 passou a + no URL reconstruído?

Ambos significam um espaço numa query string. A reconstrução usa a codificação de formulários produzida pelos navegadores e pela maioria das frameworks de servidor, que escreve os espaços como +.

Trata URLs mailto:, tel: ou data:?

Sim. Também são analisados, mas não têm host nem porta: o conteúdo aparece no Caminho.

Qual é a diferença entre Host e Nome do host?

O Nome do host é só o nome. O Host (com porta) acrescenta a porta quando ela é indicada explicitamente, como em example.com:8080.