Glosario Web y HTTP

Codificación porcentual

La codificación porcentual escribe un carácter que no está permitido en una URL, o que tiene allí un significado especial, como un signo de porcentaje seguido de dos dígitos hexadecimales.

Última revisión:

AdSense Placeholder
Slot: header_reference_page

En detalle

En una URL, caracteres como ?, &, =, # y / tienen funciones, y los espacios y las letras no ASCII no están permitidos. Para incluirlos como datos, cada uno se convierte en sus bytes UTF-8 y cada byte se escribe como % más dos dígitos hexadecimales. Un espacio pasa a ser %20, & pasa a ser %26 y é pasa a ser %C3%A9. El propio signo % se escribe %25. En las cadenas de consulta antiguas de formulario un espacio puede aparecer como +.

Por qué importa

Los caracteres especiales sin codificar cambian en silencio el significado de una URL: un & en un valor termina el valor y un # corta el resto de la dirección. Codificar bien los datos evita enlaces rotos, parámetros perdidos y algunos errores de inyección. Decodificar un número de veces incorrecto tiene el efecto contrario: convierte %2520 en %20 en lugar de un espacio.

Ejemplo

café au lait se codifica como caf%C3%A9%20au%20lait. Usa el codificador de URL y el decodificador de URL para convertir texto en ambos sentidos.

Confusión habitual

La codificación porcentual no es cifrado y no oculta nada; cualquiera puede decodificarla. Tampoco es lo mismo que Base64, que tiene su propio alfabeto y no está pensado para URL salvo que se use la variante segura para URL.

AdSense Placeholder
Slot: footer_leaderboard