Parte una URL en protocolo, host, puerto, ruta, consulta y fragmento, y lista cada parámetro.
En un enlace el host no es la ruta, la consulta no es el fragmento, y el puerto 443 casi nunca se escribe. Esta página lista esos campos y cada parámetro. No hace codificación porcentual: para eso está codificar URL. Si el host internacional tiene que quedar como xn--, usa punycode.
example.com/search?q=1.clave = valor.http:// ni https://, la primera línea avisa que se asumió https. Esa línea es un aviso, no forma parte de lo que pegaste.El corte lo hace el analizador de URL del navegador. Si falta el puerto, se muestra el predeterminado del esquema y se marca como tal: https es 443, http es 80. Así se distingue de un puerto que sí escribiste. Usuario y contraseña, si vienen en el enlace, quedan en la línea del usuario. No pegues una contraseña en uso si la pantalla la ve otra persona.
Los valores de la consulta se decodifican: %E5%8C%97%E4%BA%AC se ve como 北京. Lo que va después de # casi ningún servidor lo recibe, y aquí se lista igual porque el navegador lo conserva. Un texto sin host, una palabra suelta, se rechaza: no se trata como ruta.
Un host sin esquema todavía no es una URL completa. La página añade https:// para que el analizador tenga esquema, y lo dice en la primera línea.
Aquí se ven los caracteres. Para armar un enlace nuevo, vuelve a codificar el valor en codificar URL.