Separa uma URL em protocolo, host, porta, caminho, consulta e fragmento, e lista cada parâmetro.
Num endereço, host, caminho, consulta e fragmento seguem regras diferentes. A porta 443 quase nunca aparece escrita. Esta página lista esses campos e cada parâmetro da consulta. Não faz codificação percentual: para isso use codificar URL. Host internacional que precise ficar xn-- vai para punycode.
example.com/search?q=1.chave = valor.http:// nem https://, a primeira linha avisa que https foi assumido. Essa linha é um aviso, não faz parte do que você colou.Quem corta é o analisador de URL do navegador. Porta ausente aparece como a padrão do esquema, marcada como padrão: https é 443, http é 80. Dá para separar isso de uma porta que você digitou. Usuário e senha, quando estão no link, ficam na linha do usuário. Não cole uma senha em uso se outra pessoa vê a tela.
Os valores da consulta saem decodificados, então %E5%8C%97%E4%BA%AC aparece como 北京. O que vem depois de # a maioria dos servidores não recebe; aqui entra mesmo assim, porque o navegador guarda. Um texto sem host, uma palavra solta, é recusado: não vira caminho.
Host sem esquema ainda não é uma URL completa. A página acrescenta https:// para o analisador ter um esquema, e diz isso na primeira linha.
Aqui você vê os caracteres. Para montar um link novo, codifique o valor de novo em codificar URL.