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 |
Un estudiante copia una dirección web desde un formulario en línea y ve un texto como science%20project%20notes. Un desarrollador principiante inspecciona una solicitud de API y descubre que un símbolo de «y» dentro de un valor de búsqueda aparece como %26. El enlace funciona, pero resulta difícil de leer y depurar.
Una herramienta de decodificación de URL convierte las secuencias codificadas en porcentaje de vuelta a sus caracteres correspondientes. Por ejemplo, %20 suele convertirse en un espacio, mientras que %26 se convierte en un símbolo «&».
Decodificar resulta útil para entender enlaces, inspeccionar parámetros de consulta, estudiar la codificación web y diagnosticar solicitudes mal formadas. Debe hacerse con cuidado, ya que 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. Los estudiantes y desarrolladores deben seguir inspeccionando el host, la ruta, los parámetros y los valores decodificados.
Las URL utilizan ciertos caracteres para separar sus partes. Un signo de interrogación puede iniciar una cadena de consulta, un símbolo «&» puede separar parámetros y una almohadilla puede identificar un fragmento.
Cuando uno de estos caracteres debe aparecer como datos y no como separador estructural, puede codificarse en porcentaje. A un signo de porcentaje le siguen 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 |
# |
Almohadilla o marcador de fragmento |
%26 |
& |
Símbolo «&» o separador de consulta |
%2B |
+ |
Signo más |
%2F |
/ |
Barra diagonal o separador de ruta |
%3A |
: |
Dos puntos |
%3D |
= |
Signo igual o separador de parámetro |
%3F |
? |
Signo de interrogación o marcador de consulta |
Las letras hexadecimales en las secuencias de porcentaje no distinguen entre mayúsculas y minúsculas, por lo que %2F y %2f representan el mismo byte.
Observa 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 símbolo «&» estructural entre parámetros no debe confundirse con uno codificado dentro de un valor.
Los desarrolladores suelen crear problemas al decodificar una URL completa cuando solo debería decodificarse un componente. Los caracteres reservados pueden cumplir funciones distintas según dónde aparezcan.
Supongamos que una consulta contiene:
?topic=research%26writing
El valor codificado representa:
research&writing
El símbolo «&» forma parte del valor del tema. Si se decodifica toda la consulta y luego se interpreta de forma incorrecta, ese símbolo puede confundirse con un separador que introduce otro parámetro.
Una aplicación fiable analiza la URL según su estructura y decodifica cada componente con una API de URL adecuada, en lugar de aplicar reemplazos de texto arbitrarios.
Los estudiantes examinan:
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 se convierte en space science. Los estudiantes explican por qué normalmente no se escribe un espacio literal directamente en una URL compartida.
El profesor proporciona:
?title=Design%20%26%20Technology
El título decodificado es Design & Technology. Los estudiantes observan que el símbolo «&» codificado pertenece al título en lugar de separar parámetros.
Los estudiantes usan la herramienta de codificación de URL para preparar un nuevo valor, luego lo decodifican y comparan el resultado.
Una secuencia contiene un código de escape de porcentaje incompleto, como %2. Los estudiantes determinan por qué se esperan dos dígitos hexadecimales después del signo de porcentaje.
Un estudiante copia el enlace de búsqueda de una biblioteca que contiene varias palabras codificadas. La URL visible es difícil de interpretar.
El estudiante decodifica los valores de la consulta y confirma qué términos de búsqueda y filtros se incluyeron. Se comprueba el host antes de abrir el enlace.
Esto le ayuda a entender cómo un sitio web transporta información de búsqueda entre páginas.
Un desarrollador principiante envía una solicitud con el título de un curso que contiene un símbolo «&». El servidor recibe el título como dos parámetros separados.
El desarrollador inspecciona la solicitud sin procesar y descubre que el símbolo «&» no se codificó como dato. El valor se prepara con una API de URL estándar y se prueba de nuevo.
El decodificador ayuda a explicar la solicitud, pero la solución permanente consiste en usar un manejo estructurado de URL en lugar de reemplazos manuales.
Un profesor recibe un enlace a un documento de clase, pero el destino indica que no se puede encontrar el archivo.
La URL se inspecciona y se decodifica. Un nombre de archivo contiene una barra que pudo tratarse como separador de ruta, o se copió mal un espacio.
El profesor solicita un nuevo enlace para compartir al propietario del documento, en lugar de editar a ciegas una dirección privada desconocida.
Los estudiantes crean un formulario de búsqueda sencillo y observan la URL tras enviar texto con espacios y signos de puntuación.
Decodifican los valores de los parámetros y los comparan con la entrada original del formulario. La clase debate por qué los navegadores codifican los valores antes de incluirlos en una URL.
En el ejercicio no se usan contraseñas reales, registros de estudiantes ni respuestas privadas.
Un enlace del boletín escolar contiene varios parámetros de seguimiento. Un profesor quiere saber qué información incluye antes de compartirlo.
La URL se separa en parámetros y se decodifican sus valores. Los valores de seguimiento innecesarios pueden eliminarse solo si hacerlo no rompe el destino requerido.
El enlace final se prueba en lugar de asumir que funcionará tras una edición manual.
Una clase de informática prueba una frase corta en un idioma distinto del inglés dentro de una URL. El resultado codificado contiene varias secuencias de porcentaje porque los caracteres UTF-8 pueden ocupar varios bytes.
Los estudiantes decodifican la secuencia completa y la comparan con la frase original. Eliminar un byte codificado en porcentaje puede producir un carácter de reemplazo o texto inválido.
La actividad demuestra que un carácter visible no siempre corresponde a un único byte codificado.
Un desarrollador espera un espacio, pero ve %2520. La secuencia %25 representa un signo de porcentaje, por lo que una primera decodificación produce %20, y otra más puede producir un espacio.
El desarrollador rastrea dónde se codificó el valor dos veces. Se corrige el flujo de datos en lugar de decodificar repetidamente cada entrada.
Un enlace contiene otra URL codificada dentro de un parámetro como redirect o next.
El usuario decodifica el valor como texto plano y comprueba el host de destino real antes de abrirlo. No debe confiarse en una dirección codificada solo porque su destino final sea difícil de leer.
| Entrada | Codificación probable | Herramienta correcta | Ejemplo decodificado |
|---|---|---|---|
lesson%20notes |
Codificación de porcentaje de URL | Decodificación de URL | lesson notes |
<p> |
Entidades HTML | Decodificación HTML | <p> |
SGVsbG8= |
Base64 | Decodificación Base64 | Hello |
u003F |
Escape Unicode | JSON o analizador consciente del lenguaje | ? |
Usa la herramienta de decodificación HTML para referencias de entidades y la herramienta de decodificación Base64 únicamente cuando se sepa que los datos usan esos formatos.
Los espacios se representan habitualmente como %20. En la codificación de consultas de estilo formulario, un signo más también puede interpretarse como un espacio.
Esto crea 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 diseñado para el componente y el formato específicos. Un decodificador de rutas y un decodificador de consultas de formulario pueden no tratar los signos más de la misma manera.
La codificación de porcentaje opera sobre bytes. Un carácter fuera del ASCII básico puede representarse mediante varios bytes codificados.
Por ejemplo, una letra acentuada o un carácter árabe puede aparecer como una secuencia de varios códigos de escape de porcentaje. Todos los bytes necesarios deben permanecer en orden e interpretarse con la codificación de caracteres correcta.
Si el resultado contiene símbolos de reemplazo, comprueba si:
Los caracteres reservados pueden cambiar la estructura al decodificarse. Separa la URL en componentes y decodifica solo el valor deseado.
Decodificar de forma repetida puede convertir datos antes seguros 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, las secuencias UTF-8, las entradas mal formadas ni las reglas del signo más. Usa un analizador de URL estructurado o una API estándar en el código.
Decodifícalo primero como texto. Inspecciona el esquema, el nombre de host, la ruta y los parámetros antes de decidir si visitarlo.
%26 y & pueden representar un símbolo «&» en contextos distintos. Elige el decodificador según la representación real.
Un signo de porcentaje debe ir seguido de dos dígitos hexadecimales. Las secuencias incompletas o inválidas pueden indicar una entrada dañada.
Las URL pueden aparecer en el historial del navegador, registros, analítica, capturas de pantalla y mensajes compartidos. Las credenciales sensibles no deben incluirse en cadenas de consulta.
Los valores decodificados pueden contener caracteres con un significado especial. Una barra decodificada puede afectar a una ruta, un símbolo «&» puede alterar parámetros, y los corchetes angulares pueden convertirse en marcado si se insertan incorrectamente en una página web.
Las aplicaciones deben:
Decodificar no es sanear. Revela los caracteres representados, pero no determina 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 electrónico, códigos de clase, nombres de archivo, datos de seguimiento y otra información. Decodificarla facilita su lectura, pero no la elimina.
No pegues enlaces privados del colegio, tokens de restablecimiento, URL firmadas, direcciones de registros de estudiantes ni datos de autenticación en una herramienta externa. Sustituye 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, elimina nombres de cuenta, hosts privados, tokens e identificadores de documentos.
Los desarrolladores principiantes deberían preferir las API de URL estructuradas. En JavaScript, un valor de consulta puede inspeccionarse 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 de parámetro decodificado. En general resulta más seguro y claro que dividir manualmente la cadena completa en cada signo de interrogación, símbolo «&» y signo igual.
Usa la herramienta de codificación de URL para preparar texto que se usará como componente de una URL, y luego decodifícalo para verificar un ejemplo de clase.
Si la entrada contiene entidades como &lt; o &quot;, usa la herramienta de decodificación HTML. Para texto en Base64 conocido, usa la herramienta de decodificación Base64.
Elegir el decodificador correcto evita transformaciones innecesarias y hace que la depuración sea más fiable.
La decodificación de URL convierte secuencias codificadas en porcentaje en caracteres legibles. Ayuda a los estudiantes a entender las direcciones web y a los desarrolladores a inspeccionar valores de consulta, solicitudes de API, texto multilingüe, redirecciones y problemas de doble codificación.
El método más seguro consiste en identificar el componente de la URL, decodificar solo lo necesario y conservar la entrada original. Trata el resultado como datos que aún requieren validación.
Un enlace decodificado legible es más fácil de investigar, pero eso no lo hace automáticamente seguro o correcto. Comprueba su estructura, destino, parámetros, privacidad y la codificación de caracteres prevista antes de usarlo.