Analizador de URL
Las URLs (Localizadores Uniformes de Recursos) identifican recursos en la web. Esta herramienta descompone URLs en sus partes componentes: esquema, host, puerto, ruta, parámetros de consulta y fragmento. Decodifica automáticamente valores codificados en porcentaje, maneja nombres de dominio internacionalizados (IDN) con conversión Punycode, y puede detectar datos incrustados como Base64 o JSON en parámetros.
Especificaciones
Casos de uso comunes
- Depurar URLs de redirección OAuth 2.0 y parámetros de callback
- Inspeccionar URLs de webhooks y sus parámetros de consulta
- Analizar parámetros de rastreo (UTM, datos de referencia)
- Decodificar enlaces profundos móviles (app://, esquemas personalizados)
- Solucionar problemas de enrutamiento de URL
- Convertir nombres de dominio internacionalizados entre Unicode y Punycode
Funcionalidades
- Analizar todos los componentes de URL (esquema, host, puerto, ruta, consulta, fragmento)
- Decodificar valores codificados en porcentaje (codificación URL) automáticamente
- Analizar cadena de consulta en pares clave-valor
- Convertir nombres de dominio internacionalizados (IDN) entre Unicode y Punycode
- Detectar y decodificar Base64 o JSON en valores de parámetros
- Copiar componentes individuales al portapapeles
Ejemplos
Callback OAuth
Pruébalo →Un callback de autorización OAuth 2.0 con parámetros de código y estado.
https://app.example.com/callback?code=abc123&state=xyz789&redirect_uri=https%3A%2F%2Fexample.comDominio internacionalizado (Punycode)
Pruébalo →Una URL con nombre de dominio codificado en Punycode (el prefijo xn-- indica IDN).
https://xn--mnchen-3ya.de/pathDominio internacionalizado (Unicode)
Pruébalo →Una URL con nombre de dominio Unicode que se convertirá a Punycode.
https://münchen.de/pathConsejos
- La codificación en porcentaje reemplaza caracteres inseguros con %XX donde XX es el valor hexadecimal.
- El fragmento (#) nunca se envía al servidor; es solo del lado del cliente.
- Los parámetros de consulta pueden aparecer múltiples veces con la misma clave.
- Algunos caracteres como @ y : en userinfo requieren codificación.
- Use encodeURIComponent() para valores de parámetros, encodeURI() para URLs completas.
Comprender Analizador de URL
Las URLs (Localizadores Uniformes de Recursos) son el sistema de direccionamiento de la web, definidas por RFC 3986 como un tipo específico de URI (Identificador Uniforme de Recursos). Una URL consta de varios componentes: un esquema (protocolo como https), una autoridad (host, puerto opcional, userinfo opcional), una ruta, una cadena de consulta opcional de parámetros clave-valor, y un identificador de fragmento opcional.
La codificación en porcentaje (codificación URL) es el mecanismo para representar caracteres especiales en URLs. Los caracteres fuera del conjunto no reservado (A-Z, a-z, 0-9, -, _, ., ~) deben codificarse como %XX donde XX es el valor hexadecimal del byte. Los espacios se convierten en %20 (o + en cadenas de consulta). Los caracteres no ASCII primero se codifican como bytes UTF-8, luego cada byte se codifica en porcentaje.
Las cadenas de consulta transportan parámetros como pares clave=valor separados por caracteres &. Las aplicaciones web los usan para términos de búsqueda, paginación, filtrado, ordenamiento y rastreo (parámetros UTM). Las URLs de redirección de OAuth 2.0 transportan códigos de autorización y tokens de estado en parámetros de consulta. Los valores complejos pueden estar a su vez codificados en URL, creando capas de codificación que requieren decodificación cuidadosa.
Los nombres de dominio internacionalizados (IDN) usan codificación Punycode (RFC 3492) para representar caracteres no ASCII en nombres de dominio. El prefijo xn-- señala una etiqueta codificada en Punycode. Por ejemplo, münchen.de se convierte en xn--mnchen-3ya.de. Esta codificación asegura la compatibilidad con el sistema DNS solo ASCII mientras soporta nombres de dominio en cualquier escritura.
JavaScript proporciona dos funciones para codificación URL que sirven para diferentes propósitos. encodeURI codifica una URI completa, preservando caracteres que tienen significado estructural en URLs (como : / ? # @ y =). encodeURIComponent codifica un solo componente de URI como un valor de parámetro de consulta, codificando todos los caracteres especiales incluyendo / y &. Use encodeURIComponent para valores de parámetros y encodeURI solo cuando codifique una URL completa. El identificador de fragmento (todo después de #) está definido por RFC 3986 como solo del lado del cliente — los navegadores lo usan para navegación dentro de la página y enrutamiento del lado del cliente en aplicaciones de página única, pero nunca se incluye en las solicitudes HTTP enviadas al servidor.
Punycode es la codificación que hace posibles los nombres de dominio internacionalizados dentro del sistema DNS solo ASCII. Los dominios que contienen caracteres no latinos se almacenan en DNS usando Punycode con un prefijo xn--, así que münchen.de se almacena como xn--mnchen-3ya.de. Los navegadores muestran la forma Unicode a los usuarios mientras usan la forma Punycode para la resolución DNS detrás de escena.
Las cadenas de consulta pueden contener múltiples valores para el mismo nombre de parámetro, como ?color=rojo&color=azul. Diferentes frameworks manejan esto de manera diferente — algunos devuelven el último valor, algunos el primero, y algunos devuelven un array con todos los valores. Esta herramienta muestra todas las apariciones de parámetros. En JavaScript, URLSearchParams.getAll() recupera todos los valores para una clave repetida en lugar de solo el primero o el último.