¿Qué es la codificación de URL? Una guía completa sobre percent-encoding
La codificación de URL, también conocida como percent-encoding, es un mecanismo para codificar información en un Identificador Uniforme de Recurso (URI) bajo ciertas circunstancias. Convierte los caracteres que no están permitidos en una URL en un formato seguro usando signos de porcentaje seguidos de dos dígitos hexadecimales.
Por qué existe la codificación de URL
Internet se construyó sobre ASCII, que solo define 128 caracteres. Las URL deben transmitirse de forma segura a través de sistemas que pueden no manejar correctamente los caracteres no ASCII o especiales. La codificación de URL garantiza que cualquier carácter — espacios, caracteres Unicode o símbolos especiales — pueda incluirse de forma segura en una URL.
Por ejemplo:
- Espacio →
%20 @→%40你好→%E4%BD%A0%E5%A5%BD
Caracteres reservados frente a no reservados
RFC 3986 define dos categorías de caracteres en las URL:
Caracteres no reservados (nunca necesitan codificación): A-Z a-z 0-9 - _ . ~
Caracteres reservados (tienen un significado especial, necesitan codificación cuando se usan literalmente): : / ? # [ ] @ ! $ & ' ( ) * + , ; =
Cuando un carácter reservado está destinado a formar parte de los datos en lugar de la estructura de la URL, debe codificarse por porcentaje.
Cuándo usar cada función de codificación
- encodeURI: Codifica una URL completa, preservando los caracteres estructurales
- encodeURIComponent: Codifica un parámetro único o valor de componente de URL
Usar la función incorrecta es uno de los errores más comunes en el desarrollo web. Pruebe nuestro codificador/decodificador de URL para experimentar con ambos modos.