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 .html a 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 (/foofoo.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 .html es lo bastante estable y poco probable de cambiar para sitios típicos.
  • Una visión pragmática común: si eliges .html y 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/ con index.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.