Blog de ClockTools

Herramientas de URL

Codificación de URL frente a decodificación: ¿cuál es la diferencia?

Una guía sobre la codificación y decodificación de URL como operaciones reversibles, con atención a cada componente.

Por , desarrollador y editor | | Revisado conforme a la política editorial de ClockTools

Ilustración editorial para codificación y decodificación de URL: ¿cuál es la diferencia?
Tabla de contenidos

La codificación de URL convierte en tripletes de codificación porcentual los caracteres que no son seguros en un componente de URL o que tienen un significado sintáctico en él; la decodificación devuelve los tripletes válidos a caracteres legibles. Codifique antes de insertar datos sin procesar en un componente. Decodifique cuando necesite inspeccionar o utilizar un valor ya codificado. El Codificador de URL de ClockTools y el Decodificador de URL permiten probar ambas operaciones sin cambiar el texto original.

Codificador de URL de ClockTools con una consulta que contiene espacios y el símbolo &
Codificador de URL de ClockTools con una consulta que contiene espacios y el símbolo &

Elija la operación según los datos de entrada

Si los datos de entrada son texto legible, como summer shoes & bags, codifíquelos antes de insertarlos en un valor de consulta. Si ya contienen secuencias como %20 y necesita los caracteres originales, decodifíquelos una vez. El Estándar de URL WHATWG define los conjuntos de codificación porcentual para analizar y serializar URL; RFC 3986 explica el formato de los tripletes y los caracteres reservados.

TieneNecesitaOperación
Valor de consulta sin procesarComponente seguro para URLCodificar
Tripletes de codificación porcentualValor legibleDecodificar
URL completa analizadaUn campo cambiadoModifique ese componente y luego serialícelo

Codificar no es cifrar. Hace que la sintaxis sea inequívoca; no oculta información confidencial.

Siga un ejemplo reversible

Comience con summer shoes & bags. La codificación de componentes produce summer%20shoes%20%26%20bags. Los espacios se convierten en %20 y el símbolo & en %26, de modo que se interpreta como dato y no como separador. Decodificar ese resultado una vez devuelve la frase original.

Diagrama de transformación de codificación y decodificación de URL reversible
Diagrama de transformación de codificación y decodificación de URL reversible

En la verificación en vivo de ClockTools, una muestra de 74 caracteres se convirtió en 102 caracteres con 14 secuencias de escape en modo de componente URI. Esos recuentos describen esa muestra únicamente; diferentes entradas producen diferentes totales.

Respete los límites de los componentes de la URL

Una URL contiene partes con diferente sintaxis: esquema, host, ruta, consulta y fragmento. El flujo de trabajo más seguro es analizar la URL, cambiar el valor deseado y luego serializarlo utilizando la API de su entorno. Codificar una URL completa ya ensamblada puede convertir en secuencias de escape separadores como :, /, ? y & que debían conservar su significado estructural.

El carácter espacio requiere especial atención. La codificación porcentual genérica representa un espacio como %20. La serialización de consultas de formularios HTML puede usar + en su lugar. Lea la guía sobre codificación de URL para un espacio para conocer ese caso concreto de interoperabilidad; este artículo trata la elección de operación y componente y la reversión del proceso.

Evite la doble codificación

La doble codificación ocurre cuando el texto codificado pasa nuevamente a través de un codificador. Por ejemplo, %20 puede convertirse en %2520 porque % está codificado como %25. Realice un seguimiento de si cada valor está sin procesar o codificado, codifique en un límite y decodifique solo tantas veces como lo requiera el contrato de datos. RFC 3986 advierte que las cadenas codificadas por porcentaje no deben codificarse ni decodificarse más de una vez sin un motivo claro.

Al depurar, copie el componente más pequeño en la herramienta, decodifíquelo una vez y compare el resultado con el valor sin codificar esperado. Nunca pegue secretos, tokens o URL privadas en una herramienta en la que no confíe.

Preguntas frecuentes

¿Cuál es la diferencia entre codificar y decodificar URL?

La codificación convierte los caracteres en una representación segura para su transmisión; la decodificación devuelve los tripletes de codificación porcentual válidos a caracteres legibles.

¿Debo codificar una URL completa o sólo un componente?

Por lo general, codifique el valor o componente que está insertando, no una URL ya ensamblada con separadores significativos.

¿Por qué a veces una URL contiene %2520?

Comúnmente significa que %20 se codificó nuevamente: el signo de porcentaje se convirtió en %25, lo que produce un valor con doble codificación.

¿Un signo más es siempre lo mismo que un espacio?

No. Algunos analizadores de consultas con codificación de formulario tratan + como un espacio, mientras que la codificación porcentual de URL genérica utiliza %20.

Acerca del autor

Vigneshwaran Vijayakumar

Fundador, desarrollador y editor de ClockTools | Gerente de Marketing Digital | India

Vigneshwaran es un ingeniero con décadas de experiencia técnica, incluida su labor profesional como director de marketing digital en Dubái. Su trabajo conecta el análisis de datos, la optimización para motores de búsqueda, la optimización de la tasa de conversión, los sistemas de contenido, la producción visual y la inteligencia artificial y el aprendizaje automático aplicados. En ClockTools, convierte esa experiencia multidisciplinar en herramientas de navegador especializadas y guías prácticas respaldadas por fuentes.

Perfil de LinkedIn