Lección 3

URLs relativas y normalización

Resuelve rutas relativas, preserva la intención y evita cambios canónicos accidentales.

No toda URL que ves es absoluta. HTML, routers, redirecciones y archivos de configuración a menudo usan URLs relativas.

/account/settings
../images/logo.png
?page=2

Las URLs relativas necesitan una URL base antes de poder resolverse.

La base importa

Dada esta base:

https://example.com/docs/guides/url/

../api/ se resuelve a:

https://example.com/docs/guides/api/

Si la base cambia a /docs/guides/url, sin barra final, la resolución puede cambiar porque el último segmento puede tratarse como un archivo.

Normalización

La normalización hace consistentes URLs que parecen equivalentes. Ejemplos incluyen:

  • Eliminar puertos predeterminados
  • Resolver segmentos de ruta . y ..
  • Convertir nombres de host a minúsculas
  • Ordenar parámetros de consulta para una forma canónica

La normalización es útil, pero puede ser peligrosa cuando la identidad byte a byte importa.

Preserva la intención

Evita normalizar URLs firmadas, claves de caché, redirecciones OAuth o enlaces de callback de terceros a menos que conozcas las reglas exactas de canonicalización. Una reescritura aparentemente inofensiva puede invalidar una firma o cambiar qué endpoint recibe una petición.

El análisis ayuda porque te permite ver qué cambiará antes de reconstruir la URL.

Volver al resumen del curso