Idioma : en | de | fr | es
Volver a los blogs

¿Qué es la codificación URL y por qué se utiliza?

¿Qué significa una URL con %20?

Si alguna vez has copiado un enlace y has observado secuencias extrañas como %20, %3A o %2F, lo que estás viendo son caracteres codificados. El más común de ellos es %20, que representa un espacio. Comprender qué significa %20 en una URL es esencial para desarrolladores, especialistas en SEO y cualquier persona que trabaje con tecnologías web.

Este artículo explica cómo funciona la codificación de URL, por qué aparece %20 en las direcciones web y cómo manejarlo correctamente en situaciones reales.

Qué significa %20 en una URL: La Explicación Técnica

En las URLs, los espacios no están permitidos como caracteres literales. La web utiliza un estándar llamado percent-encoding (también conocido como URL encoding) para representar caracteres especiales.

%20 es la representación hexadecimal del carácter de espacio en ASCII.

¿Por qué 20?

  • Espacio en ASCII = decimal 32
  • 32 en hexadecimal = 20
  • Formato de percent-encoding = % + valor hexadecimal

Entonces:

Espacio → ASCII 32 → Hex 20 → %20

Esa es toda la lógica detrás de que %20 sea un espacio.

Ejemplo

Texto original:

https://example.com/my page.html

Versión codificada:

https://example.com/my%20page.html

Los navegadores convierten automáticamente los espacios en %20 en formato URL Encode para que la dirección sea válida.

URL Encoding %20: Por Qué Existe

Las URLs deben seguir estándares estrictos definidos por RFC 3986. Solo ciertos caracteres están permitidos directamente. Otros deben ser codificados.

Caracteres que normalmente requieren codificación:

  • Espacio
  • ?
  • &
  • =
  • %
  • Caracteres no ASCII (e.g., é, ü)

Ejemplo: Parámetros de consulta

Sin codificar (no válido):

https://example.com/search?q=red shoes

Codificado:

https://example.com/search?q=red%20shoes

Sin codificación, el navegador no puede interpretar correctamente la estructura de la URL..

%20 en direcciones web frente a otros caracteres codificados

Aunque el %20 es el más común, muchos caracteres se codifican de manera similar.

Carácter

ASCII (diciembre)

Hex

Codificado

Espacio

32

20

%20

!

33

21

%21

"

34

22

%22

#

35

23

%23

&

38

26

%26

/

47

2F

%2F

Comprender esta tabla ayuda al depurar URLs manualmente.

Significado de %20 en Rutas de URL vs Cadenas de Consulta

El comportamiento de la codificación difiere ligeramente dependiendo de dónde aparezca.

1. Segmento de Ruta

https://example.com/files/My%20Document.pdf

Aquí, %20 representa un espacio literal en el nombre del archivo.

2. Parámetros de Consulta

https://example.com/search?keyword=machine%20learning

Aquí, representa un espacio dentro de un valor de consulta.

3. Identificadores de Fragmento

https://example.com/page#Section%202

Incluso los anclajes pueden contener espacios codificados.

Http %20 y la Interpretación del Servidor

Los servidores decodifican automáticamente los valores codificados con percent-encoding antes de procesar las solicitudes.

Por ejemplo:

GET /products/Red%20Shoes HTTP/1.1

El servidor recibe:

/products/Red Shoes

Este paso de decodificación ocurre:

  1. El navegador codifica caracteres inseguros.
  2. Se envía la solicitud HTTP.
  3. El servidor decodifica.
  4. La aplicación procesa la cadena legible.

Por eso los desarrolladores rara vez ven %20 dentro de la lógica de la aplicación a menos que estén registrando URLs sin procesar.

Ejemplos Prácticos para Desarrolladores

Ejemplo 1: Codificación en JavaScript

encodeURIComponent(“red shoes”);

Output:

red%20shoes

Ejemplo 2: Decodificación en JavaScript

decodeURIComponent(“red%20shoes”);

Output:

red shoes

Ejemplo 3: Python

import urllib.parse

encoded = urllib.parse.quote(“data science”)

print(encoded)

Salida:

data%20science

Decodificación:

urllib.parse.unquote("data%20science")

Cuándo No Debe Usarse %20

En las cadenas de consulta, los espacios a veces pueden aparecer como +.

Ejemplo:

https://example.com/search?q=red+shoes

En envíos de formularios usando application/x-www-form-urlencoded, el espacio se codifica como +, no como %20.

Diferencia importante:

  • %20 → codificación estándar con percent-encoding
  • + → caso especial para datos de formularios

Esta distinción es importante en el análisis del backend.

SEO y %20 en URLs

Los motores de búsqueda manejan correctamente los espacios codificados. Sin embargo, las mejores prácticas sugieren:

  • Evitar espacios en las URLs por completo.
  • Usar guiones (-) en su lugar.

Preferido:

https://example.com/red-shoes

En lugar de:

https://example.com/red%20shoes

¿Por Qué?

  • Estructura más limpia
  • Mejor legibilidad
  • Menos pasos de codificación
  • Menor riesgo de problemas al copiar y pegar

Errores Comunes y Consejos de Depuración

1. Doble Codificación

Incorrecto:

red%2520shoes

Aquí %25 representa %, lo que significa que la cadena fue codificada dos veces.

2. Construcción Manual de URL

Evita construir URLs mediante concatenación de cadenas:

“/search?q=” + userInput

En su lugar:

“/search?q=” + encodeURIComponent(userInput)

3. Interpretación Incorrecta de Barras Codificadas

%2F representa /. Si se decodifica incorrectamente, puede cambiar la jerarquía de la ruta.

Resumen: Por Qué %20 Aparece en las URLs

Para resumir claramente:

  • %20 es un espacio
  • Es parte de percent-encoding
  • Asegura que las URLs sigan siendo válidas y legibles por máquinas
  • Los navegadores codifican automáticamente
  • Los servidores decodifican automáticamente
  • Es necesario para una transmisión HTTP segura

Comprender la codificación es crítico cuando:

  • Depuración de API.
  • Trabajar con redireccionamientos.
  • Gestionar contenido generado por los usuarios.
  • Gestionar descargas de archivos.
  • Optimizar URL para SEO.

Cuando veas %20 en una dirección web, simplemente significa que se ha codificado un espacio de forma segura para su transporte a través de la web.

Los marcos modernos gestionan esto automáticamente, pero saber cómo funciona ayuda a prevenir errores de codificación, problemas de seguridad y solicitudes malformadas en los sistemas de producción.