Las URIs geniales pueden ser feas (2023)
Las redirecciones automáticas y permanentes de Cloudflare Pages desde archivos `.html` hacia URLs sin extensión han reavivado el debate sobre qué hace que las direcciones web sean “cool” y estables. Los comentaristas sopesan las ventajas de URLs limpias e independientes de la tecnología frente a la simplicidad práctica de exponer `.html`, se preocupan por que los proveedores de alojamiento muten esquemas de URL sin opción de desactivarlo y retoman el ideal del W3C de que los enlaces sigan siendo válidos durante décadas. El hilo se amplía a la rotura de enlaces, las redirecciones, las rutas estilo REST frente a los parámetros de consulta y a si exponer detalles de implementación como las extensiones de archivo perjudica de forma significativa el mantenimiento a largo plazo.
Comportamiento de Cloudflare / GitHub y redirecciones
- Cloudflare Pages redirige automáticamente
.htmla URLs sin extensión y las trata como permanentes; algunos consideran esto una “función” crítica e invasiva que debería ser opcional. - Otros sostienen que se trata de un comportamiento de larga data en muchos hosts estáticos y servidores web, impulsado por el desajuste entre las extensiones del sistema de archivos y los tipos de contenido de las URLs.
- La crítica se centra en la permanencia (301) y en la falta de opciones de configuración; los defensores lo presentan como una decisión de producto, no como un error.
- GitHub Pages tiene reglas de mapeo similares (
/foo→foo.html, carpeta →folder/→folder/index.html), pero por lo general sin redirecciones permanentes.
URIs geniales, extensiones y preparación para el futuro
- Se revisa la postura del W3C de que las “Cool URIs don’t change” frente a
.html. - Algunos coinciden en que las extensiones exponen detalles del backend y arriesgan roturas futuras; otros dicen que
.htmles lo bastante estable y poco probable de cambiar para sitios típicos. - Una visión pragmática común: si eliges
.htmly lo mantienes estable, esa se convierte en la URL “cool”; los cambios de backend deberían adaptarse a las URLs existentes, no al revés. - Algunos frameworks incluso vinculan directamente las extensiones a tipos MIME (
.json,.xml, etc.) como ayuda para la depuración.
Qué cuenta como una URL “fea”
- Muchos participantes reservan “fea” para URLs largas, cargadas de parámetros o codificadas en fragmentos hash, no para un simple
/year/slug.html. - Ejemplos históricos incluyen URLs de CMS llenas de comas, blobs JSON en fragmentos, cadenas de consulta de seguimiento y URLs complejas de aplicaciones empresariales.
- Las rutas estáticas con IDs más slugs (
/category/123/post-name) se ven como un buen compromiso: identificador estable más legibilidad humana.
Redirecciones, rotura de enlaces y responsabilidad
- Un bando: los operadores de sitios no tienen obligación de conservar las URLs para siempre; la retórica de las “Cool URIs” puede sentirse moralizante.
- Otro bando: mantener redirecciones requiere poco esfuerzo y es una cortesía; la rotura de enlaces se debe principalmente a que cambian los destinos, no a quienes enlazan.
- Algunos sugieren que incluso los flujos de trabajo de sitios estáticos pueden generar automáticamente páginas simples de redirección o meta-refresh.
Detalles de implementación y preocupaciones de monitoreo
- Patrón popular: directorio
/blog/slug/conindex.html, a veces usado por entrada para guardar recursos relacionados. - La negociación de contenido y los formatos alternativos (Markdown, variantes multilingües) suelen chocar con las suposiciones de los generadores estáticos.
- A los profesionales de observabilidad no les gusta poner datos de usuario en segmentos de ruta, ya que complica métricas y registros; prefieren parámetros de consulta.
URIs frente a URLs
- Hay un breve repaso histórico de URIs, URLs, URNs y su linaje en RFC.
- Muchos coinciden en que, en el trabajo web cotidiano, “URL” es el único término realmente útil, aunque “URI” sea técnicamente más general.