Resumen

  • Las referencias relativas omitieron la información ya aportada por una base conocida, reduciendo repetición y dejando que grupos de documentos se moviesen juntos.
  • La resolución es una transformación sintáctica determinista: seleccionar base absoluta, heredar o sustituir componentes, fusionar rutas, retirar . y .. completos y recomponer.
  • Una referencia relativa sola no es un identificador mundial estable; pruebas, firmas y auditorías deben conservar su base efectiva o el objetivo absoluto.

El documento ya conocía parte de la dirección

Un localizador absoluto repite esquema, autoridad y buena parte de la ruta. El documento que contiene los enlaces ya llegó desde un lugar que aporta contexto.

RFC 1630, propuesta de Tim Berners-Lee de 1994, describió una forma parcial dentro de un objeto con URI bien definida. Ahorraba caracteres y permitía que objetos relacionados se moviesen como grupo sin reescribir cada arista. Los cambios de niveles superiores quedaban ocultos a los documentos locales.

La condición era clara: fuera de un contexto controlado había que usar la forma completa. El enlace corto no contiene lo que omite. Su portabilidad requiere que la base lo acompañe o pueda reconstruirse.

La jerarquía ya vivía en la barra y en los segmentos completos . y ... La barra final importaba porque representaba un último segmento vacío. Una base parecida a directorio y otra parecida a recurso no prestaban la misma ruta.

La URL relativa se volvió una transformación normativa

RFC 1808, de junio de 1995, definió la URL relativa frente a una base absoluta. La base podía aportar esquema, ubicación de red y parte de la ruta; la referencia decía qué cambiaba.

No era concatenación. Una referencia con esquema era absoluta. Una ubicación de red sustituía la autoridad. Una barra inicial reemplazaba la ruta desde su raíz. Una ruta relativa se fusionaba con la parte final de la base. Consulta y fragmento tenían reglas de componente.

Una colección movida conservaba enlaces relativos si mantenía su jerarquía. Un enlace absoluto seguía señalando a la autoridad anterior. Cada forma declaraba una dependencia distinta.

HTML permitió transportar el contexto ausente

RFC 1866, HTML 2.0 de 1995, usó objetivos relativos en anclas, enlaces, imágenes, entradas y formularios. Un elemento opcional BASE podía aportar una dirección absoluta cuando el documento se leía fuera del contexto de recuperación.

La comodidad concentraba control. Una sola base insertada reinterpretaba todas las referencias relativas. Precisamente porque evitaba repetir el prefijo, cambiarlo afectaba a todo el grafo.

La base no es metadato visual. Participa en la identidad. Quitarla, sustituirla o aplicarla en otra etapa cambia la decisión.

La sintaxis genérica separó la herencia por componente

RFC 2396, de 1998, generalizó la resolución a referencias URI. Esquema, autoridad, ruta, consulta y fragmento se analizaban y luego se aportaban, heredaban o sustituían según la forma.

Para una ruta relativa, se elimina el último segmento de la base, se añade la referencia y se procesan los puntos. Por eso la barra final sigue siendo material. Pero una ruta URI no es siempre un sistema de archivos: solo . y .. como segmentos completos tienen este papel genérico. Los puntos dentro de otro nombre son datos.

Resolver tampoco contacta al servidor. Produce un identificador objetivo; acceso, redirección, autorización y existencia son decisiones posteriores.

El contrato actual elige una base primero

RFC 3986 exige una base conocida, salvo el caso estrecho del fragmento solo. La base debe ser absoluta y perder su fragmento antes de usarse.

Las fuentes siguen prioridad: base incorporada al contenido, base de la entidad envolvente, URI de recuperación y valor predeterminado de la aplicación. La secuencia reduce varios contextos a una entrada.

Una referencia con esquema aporta sus componentes. La forma // toma el esquema y reemplaza autoridad. Una / inicial toma esquema y autoridad y reemplaza ruta. La ruta relativa se fusiona con todo menos el último segmento de la base, salvo autoridad con ruta vacía, donde empieza con /.

Una ruta vacía hereda la de base y, si no aporta consulta, también la consulta. Su fragmento pasa al objetivo. Son decisiones por componente.

Los segmentos-punto eran instrucciones temporales

remove_dot_segments se aplica después de extraer y fusionar. Un segmento completo . no añade nivel; .. retira el anterior cuando existe. Padres excesivos siguen el algoritmo y no atraviesan una raíz de archivos universal imaginaria.

La transformación es sintáctica y no consulta directorios reales. Una implementación puede usar pilas en vez de buffers, pero debe recomponer el mismo objetivo.

La condición de mismo documento también se decide tras resolver, comparando el absoluto con la base, no solo mirando si el texto es corto.

La movilidad era dependencia controlada

Los enlaces relativos hicieron reemplazable una colección porque sus relaciones internas no nombraban un host permanente. Pero nunca fueron independientes del contexto. La dirección ausente procedía del documento, contenedor, recuperación o aplicación.

Una prueba con solo ../fuente deja de identificar una fuente pública al separarse de su base. Un manifiesto que firma el texto corto, pero no la base, deja parte del objetivo sin firmar. Un registro con solo el destino no explica qué decisión lo produjo.

La evidencia durable conserva referencia original, base elegida y objetivo resuelto cuando hubo una acción.

Fuentes

Estas normas establecen historia y algoritmo, no particularidades actuales de navegadores ni seguridad de una aplicación concreta.