URL Parser / Inspector
Pruebe una o más URL completas (una por línea) para romper cada uno en su protocolo, host, path, cuerda de consulta y fragmento, con cada parámetro de consulta decodificado.
Pruebe una o más URL completas (una por línea) para romper cada uno en su protocolo, host, path, cuerda de consulta y fragmento, con cada parámetro de consulta decodificado.
Una URL sólo puede contener con seguridad letras, dígitos y un pequeño conjunto de símbolos (- _ . ~). Todo lo demás, incluyendo espacios, puntuación y caracteres no ingleses, tiene que estar representado con un porcentaje de codificación antes de que pueda viajar dentro de una URL.
La codificación porcentual reemplaza a un personaje con un signo por ciento seguido por su valor hexadecimal de dos dígitos, utilizando UTF-8 para cualquier cosa fuera de la ASCII básica. Un espacio se convierte en %20, un ampersand se convierte en %26, y un personaje acentuado o no latino puede convertirse en varias secuencias %XX en una fila, ya que UTF-8 lo representa como más de un byte.
Carácteres como ? & = # y / tienen un significado especial en una estructura URL: marcan la cadena de consulta, parámetros separados, o introducen el fragmento. Si sus datos necesitan contener uno de estos caracteres como un valor en lugar de como estructura, codificarlo primero, o el navegador o servidor puede leer mal donde una parte de la URL termina y el siguiente comienza.
Decodificación revierte el proceso: lee cada secuencia %XX de nuevo en el carácter (o byte) que representa, que es exactamente lo que hace la herramienta anterior.
| Cara | Encoded | Donde se utiliza |
|---|---|---|
| espacio | %20 | Separador de palabras dentro de un valor |
| ! | %21 | |
| " | %22 | |
| # | %23 | Empieza el fragmento |
| % | %25 | Empieza una secuencia codificada por ciento |
| & | %26 | Separa los parámetros de consulta |
| ' | %27 | |
| ( | %28 | |
| ) | %29 | |
| + | %2B | A menudo lee como un espacio dentro de una cadena de consulta |
| , | %2C | |
| / | %2F | Separa segmentos de ruta |
| : | %3A | Sigue el esquema, por ejemplo: https: |
| ; | %3B | |
| = | %3D | Asigna el valor de un parámetro de consulta |
| ? | %3F | Empieza la cuerda de la consulta |
| @ | %40 | |
| [ | %5B | |
| ] | %5D |
Una estudiante copia una dirección web de un formulario en línea y ve un texto como science%20project%20notes. En otro lado, alguien que recién empieza a programar revisa una petición de API y descubre que un ampersand dentro de un valor de búsqueda aparece como %26. La dirección funciona, pero es difícil de leer y de depurar.
Una herramienta de decodificación de URL convierte las secuencias con porcentaje de vuelta en los caracteres que representan. Por ejemplo, %20 suele volverse un espacio, y %26 se vuelve un ampersand.
Decodificar sirve para entender enlaces, revisar parámetros de consulta, estudiar la codificación web y diagnosticar peticiones mal armadas. Hay que hacerlo con cuidado, porque los caracteres reservados pueden cambiar la estructura de una URL una vez decodificados.
La herramienta no determina si un destino es seguro, correcto o autorizado. Solo cambia la representación de los caracteres codificados. El host, la ruta, los parámetros y los valores decodificados los tienes que revisar igual.
Las URL usan ciertos caracteres para separar sus partes. Un signo de interrogación puede abrir una cadena de consulta, un ampersand puede separar parámetros y un signo de número puede marcar un fragmento.
Cuando uno de esos caracteres tiene que aparecer como dato y no como separador estructural, se lo puede codificar con porcentaje. El signo de porcentaje va seguido de dos dígitos hexadecimales que representan un valor de byte.
| Valor codificado | Carácter decodificado | Significado habitual |
|---|---|---|
%20 |
Espacio | Separa palabras dentro de un valor |
%21 |
! |
Signo de exclamación |
%23 |
# |
Signo de número o marca de fragmento |
%26 |
& |
Ampersand o separador de consulta |
%2B |
+ |
Signo más |
%2F |
/ |
Barra o separador de ruta |
%3A |
: |
Dos puntos |
%3D |
= |
Signo igual o separador de parámetros |
%3F |
? |
Signo de interrogación o marca de consulta |
Las letras hexadecimales de las secuencias con porcentaje no distinguen mayúsculas de minúsculas, así que %2F y %2f representan el mismo byte.
Mira este ejemplo:
https://example.edu/search?q=water%20cycle&level=grade%206#results
Sus partes principales son:
httpsexample.edu/searchq=water%20cycle&level=grade%206resultsLos valores de la consulta se decodifican como “water cycle” y “grade 6”. El ampersand estructural que separa los parámetros no hay que confundirlo con un ampersand codificado dentro de un valor.
Quienes programan suelen crearse problemas al decodificar una URL entera cuando solo correspondía decodificar un componente. Los caracteres reservados pueden cumplir papeles distintos según dónde aparezcan.
Supongamos que una consulta contiene esto:
?topic=research%26writing
El valor codificado representa:
research&writing
Acá el ampersand es parte del valor del tema. Si se decodifica la consulta completa y después se la interpreta mal, ese ampersand puede confundirse con un separador que introduce otro parámetro.
Una aplicación confiable analiza la URL según su estructura y decodifica cada componente con una interfaz de URL adecuada, en lugar de andar reemplazando texto a mano.
La clase examina esto:
https://example.edu/library?topic=space%20science
Identifican el host, la ruta, el nombre del parámetro y el valor codificado.
El valor space%20science pasa a ser space science. Los estudiantes explican por qué normalmente no se escribe un espacio literal en una URL que se va a compartir.
El docente propone esto:
?title=Design%20%26%20Technology
El título decodificado es Design & Technology. Los estudiantes observan que el ampersand codificado pertenece al título y no separa parámetros.
Los estudiantes usan la herramienta de codificación de URL para preparar un valor nuevo, después lo decodifican y comparan el resultado.
Una de las secuencias trae un escape de porcentaje incompleto, como %2. Los estudiantes explican por qué se esperan dos dígitos hexadecimales después del signo de porcentaje.
Un estudiante copia el enlace de una búsqueda en la biblioteca con varias palabras codificadas. La URL visible es difícil de interpretar.
Decodifica los valores de la consulta y confirma qué términos y filtros estaban incluidos. Antes de abrir el enlace, revisa el host.
Eso le ayuda a entender cómo un sitio lleva la información de búsqueda de una página a otra.
Alguien que recién empieza a programar envía una petición con el título de un curso que lleva un ampersand. El servidor recibe el título como dos parámetros separados.
Al revisar la petición en bruto descubre que el ampersand no se codificó como dato. El valor se prepara con una interfaz de URL estándar y se prueba de nuevo.
El decodificador ayuda a explicar la petición, pero el arreglo definitivo pasa por manejar la URL de forma estructurada y no por reemplazos manuales.
A una docente le llega un enlace a un documento de la clase, pero el destino informa que el archivo no se encuentra.
Se revisa y se decodifica la URL. Un nombre de archivo tiene una barra que pudo tomarse como separador de ruta, o quedó mal copiado un espacio.
La docente le pide al dueño del documento un enlace de uso compartido nuevo, en vez de editar a ciegas una dirección privada que no conoce.
Los estudiantes arman un formulario de búsqueda simple y miran la URL después de enviar un texto con espacios y signos de puntuación.
Decodifican los valores de los parámetros y los comparan con lo que escribieron en el formulario. La clase conversa sobre por qué los navegadores codifican los valores antes de ponerlos en una URL.
En el ejercicio no se usan contraseñas reales, registros de estudiantes ni respuestas privadas.
El enlace de un boletín escolar trae varios parámetros de seguimiento. Una docente quiere saber qué información lleva antes de compartirlo.
La URL se separa en parámetros y se decodifican sus valores. Los valores de seguimiento innecesarios se pueden sacar solo si eso no rompe el destino que hace falta.
El enlace final se prueba en vez de dar por sentado que funciona después de editarlo a mano.
Una clase de computación prueba una frase corta en otro idioma dentro de una URL. El resultado codificado trae varias secuencias con porcentaje, porque los caracteres UTF-8 pueden ocupar varios bytes.
Los estudiantes decodifican la secuencia completa y la comparan con la frase original. Si se quita un byte codificado, puede aparecer un carácter de reemplazo o texto inválido.
La actividad muestra que un carácter visible no siempre corresponde a un solo byte codificado.
Alguien espera un espacio pero ve %2520. La secuencia %25 representa un signo de porcentaje, así que una pasada de decodificación produce %20 y otra puede dar un espacio.
Entonces rastrea dónde se codificó dos veces el valor. Se corrige el flujo de datos en lugar de decodificar cada entrada una y otra vez.
Un enlace trae otra URL codificada dentro de un parámetro como redirect o next.
Quien lo recibe decodifica el valor como texto plano y revisa el host de destino real antes de abrirlo. Una dirección codificada no merece confianza solo porque su destino final sea difícil de leer.
| Entrada | Codificación probable | Herramienta correcta | Ejemplo decodificado |
|---|---|---|---|
lesson%20notes |
Codificación de URL con porcentaje | Decodificación de URL | lesson notes |
<p> |
Entidades HTML | Decodificación HTML | <p> |
SGVsbG8= |
Base64 | Decodificación Base64 | Hello |
u003F |
Escape Unicode | Analizador de JSON o del lenguaje | ? |
Para las referencias de entidad usa la herramienta de decodificación HTML, y la herramienta de decodificación Base64 solo cuando sepas que los datos vienen en ese formato.
Los espacios suelen representarse como %20. En la codificación de consultas al estilo de los formularios, un signo más también puede interpretarse como espacio.
De ahí sale una distinción importante:
class%20notes normalmente se decodifica como class notes.class+notes puede decodificarse como class notes en el contexto de una consulta de formulario.%2B.Usa el método de decodificación pensado para ese componente y ese formato. Un decodificador de rutas y uno de consultas de formulario pueden tratar los signos más de manera distinta.
La codificación con porcentaje trabaja sobre bytes. Un carácter fuera del ASCII básico puede representarse con varios bytes codificados.
Por ejemplo, una letra con acento o un carácter árabe puede aparecer como una serie de varios escapes de porcentaje. Todos los bytes necesarios tienen que quedar en orden e interpretarse con la codificación de caracteres correcta.
Si la salida trae símbolos de reemplazo, fíjate si:
Los caracteres reservados pueden cambiar la estructura al decodificarse. Separa la URL en componentes y decodifica el valor que buscas.
Decodificar de forma repetida puede convertir datos antes inofensivos en separadores activos o rutas inesperadas. Averigua por qué existen varias capas de codificación.
Reemplazar %20 por espacios no cubre todos los caracteres codificados, ni las secuencias UTF-8, ni las entradas mal formadas, ni las reglas del signo más. En el código, usa un analizador de URL estructurado o una interfaz estándar.
Decodifícalo primero como texto. Revisa el esquema, el nombre del host, la ruta y los parámetros antes de decidir si lo visitas.
%26 y & pueden representar un ampersand en contextos distintos. Elige el decodificador según la representación real que tengas delante.
Al signo de porcentaje deberían seguirlo dos dígitos hexadecimales. Las secuencias incompletas o inválidas pueden indicar que la entrada está dañada.
Las URL pueden aparecer en el historial del navegador, en registros, en analítica, en capturas de pantalla y en mensajes compartidos. Las credenciales sensibles no van en una cadena de consulta.
Los valores decodificados pueden traer caracteres con significado especial. Una barra decodificada puede afectar una ruta, un ampersand puede alterar parámetros y los signos de mayor y menor pueden volverse marcado si se insertan mal en una página.
Las aplicaciones deberían:
Decodificar no es sanitizar. Revela los caracteres representados, pero no decide si son seguros para HTML, rutas de archivo, consultas de base de datos o redirecciones.
Una URL puede contener términos de búsqueda, identificadores de documentos, direcciones de correo, códigos de curso, nombres de archivo, datos de seguimiento y más información. Decodificarla vuelve todo eso más legible, pero no lo elimina.
No pegues enlaces escolares privados, tokens de restablecimiento, URL firmadas, direcciones de registros de estudiantes ni datos de autenticación en una herramienta externa. Reemplaza los valores sensibles por ejemplos ficticios durante las clases y las demostraciones de depuración.
Antes de compartir una captura de pantalla de una URL decodificada, quita los nombres de cuenta, los hosts privados, los tokens y los identificadores de documentos.
Quien recién empieza a programar debería preferir las interfaces de URL estructuradas. En JavaScript, el valor de una consulta se puede revisar así:
const url = new URL(
"https://example.edu/search?q=water%20cycle"
);
const query = url.searchParams.get("q");
console.log(query);
// water cycle
Este enfoque analiza la URL y devuelve el valor decodificado del parámetro. Suele ser más seguro y más claro que cortar la cadena completa a mano en cada signo de interrogación, ampersand y signo igual.
Usa la herramienta de codificación de URL para preparar un texto como componente de una URL y después decodifícalo para verificar un ejemplo de clase.
Si la entrada trae entidades como &lt; o &quot;, usa la herramienta de decodificación HTML. Para texto que sabes que es Base64, usa la herramienta de decodificación Base64.
Elegir el decodificador correcto evita transformaciones innecesarias y vuelve la depuración mucho más confiable.
La decodificación de URL convierte las secuencias con porcentaje en caracteres legibles. Ayuda a los estudiantes a entender las direcciones web y a quienes programan a revisar valores de consulta, peticiones de API, texto multilingüe, redirecciones y problemas de doble codificación.
Lo más seguro es identificar el componente de la URL, decodificar solo lo necesario y conservar la entrada original. Trata el resultado como un dato que todavía necesita validarse.
Un enlace decodificado y legible es más fácil de investigar, pero eso no lo vuelve seguro ni correcto por sí solo. Revisa su estructura, su destino, sus parámetros, la privacidad y la codificación de caracteres prevista antes de usarlo.