Analizador de URL
Descompón cualquier URL en su esquema, host, puerto, ruta, parámetros de consulta y hash, analizado localmente en tu navegador.
Cargando Analizador de URL… Si no ocurre nada, activa JavaScript.
Una URL (Uniform Resource Locator) parece una sola cadena, pero en realidad es un registro estructurado compuesto de varios componentes distintos, cada uno con su propio significado. Una URL completa como https://user:pass@example.com:8443/path/page?q=hello&lang=en#section reúne un esquema, credenciales opcionales, un host, un puerto opcional, una ruta, una query string y un fragmento. Leer esas partes a ojo es fácil de equivocar, sobre todo cuando la query string es larga, contiene caracteres codificados en porcentaje o repite la misma clave más de una vez. Un analizador divide la URL con precisión según las reglas definidas en el WHATWG URL Standard, las mismas reglas que sigue todo navegador moderno.
Preguntas frecuentes
¿La URL que pego se envía a un servidor?
¿Cuáles son las partes de una URL?
¿Por qué el puerto se muestra como predeterminado en algunas URL?
¿Cuál es la diferencia entre host y hostname?
¿Cómo se manejan los parámetros de consulta repetidos?
¿Decodifica los caracteres codificados en porcentaje en los valores de consulta?
¿Por qué obtengo un error de URL no válida?
¿Puede analizar esquemas no web como mailto o ftp?
Acerca de Analizador de URL
Esta herramienta usa las API nativas URL y URLSearchParams integradas en tu navegador, así que los resultados coinciden exactamente con cómo un navegador, una llamada fetch o un framework de servidor interpretarían la dirección. Muestra el esquema y el protocolo completo, cualquier nombre de usuario y contraseña incrustados en la autoridad, el host y el hostname, el puerto (o una nota de que se aplica el predeterminado del esquema), el pathname, el origin calculado y el fragmento hash. La query string se desglosa en una tabla limpia de pares de clave y valor, con cada valor copiable individualmente, lo que es mucho más rápido que buscar entre un muro de ampersands y signos de igual.
Todo se ejecuta localmente en tu navegador. La URL que pegas nunca se sube, registra ni envía a ningún servidor, así que es seguro inspeccionar enlaces que contengan tokens de acceso, identificadores de sesión, parámetros firmados u otros valores de consulta sensibles. Los desarrolladores recurren a un analizador de URL al depurar redirecciones, URL de retorno de OAuth, la sopa de parámetros de seguimiento de las campañas de marketing, endpoints de API con muchas opciones de consulta o enlaces profundos en apps móviles. Si la entrada no es una URL absoluta válida, la herramienta muestra un error claro en lugar de adivinar.
El estándar de URL en el que nadie se puso de acuerdo durante décadas
Las URL fueron formalizadas por primera vez por Tim Berners-Lee en el RFC 1738 allá por 1994, pero durante años después cada navegador, biblioteca y lenguaje las analizaba de forma ligeramente diferente. Los casos límite como las barras invertidas, los espacios al principio y al final, los dos puntos colocados de forma extraña y la codificación en porcentaje en el host causaban auténticos fallos de seguridad, porque un analizador en el servidor y un analizador en el navegador podían discrepar sobre a qué host apuntaba realmente una URL. Los atacantes explotaban esas discrepancias para colarse más allá de las listas de permitidos de URL y desencadenar falsificaciones de solicitud del lado del servidor.
Para acabar con el caos, el WHATWG publicó el URL Standard, una especificación viva que define el análisis como una máquina de estados precisa y no como una gramática laxa. Es crucial que la especificación se escribiera para describir lo que los navegadores hacen realmente, incluidas sus rarezas, de modo que el algoritmo sea interoperable por construcción. Las clases URL y URLSearchParams expuestas a JavaScript implementan este mismo algoritmo, que es por lo que la salida de esta herramienta coincide con lo que ven la barra de direcciones de tu navegador y las llamadas fetch.
Un detalle sutil que el estándar fija con claridad es la diferencia entre los esquemas especiales (http, https, ws, wss, ftp, file) y todo lo demás. Los esquemas especiales reciben una normalización adicional, como poner el host en minúsculas y resolver el puerto predeterminado, mientras que los esquemas no especiales se tratan de forma más literal. Esa distinción explica por qué una URL https y una URL personalizada myapp con el mismo texto tras los dos puntos pueden analizarse en valores de componentes bastante diferentes.