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.