Resumo

  • Referências relativas omitem o que uma base conhecida já fornece, reduzindo repetição e permitindo que grupos de documentos se mudem juntos.
  • Resolução é transformação sintática determinística: selecionar base absoluta, herdar ou trocar componentes, fundir caminhos, retirar segmentos-ponto e recompor.
  • Uma referência relativa sozinha não é identificador global estável; evidência, assinatura e auditoria precisam preservar a base ou o destino absoluto.

O documento já conhecia parte do endereço

Um localizador absoluto repete esquema, autoridade e grande parte do caminho. O documento que contém os links já chegou de algum lugar, e esse lugar oferece contexto.

O RFC 1630, proposta de Tim Berners-Lee de 1994, descreveu forma parcial dentro de objeto com URI conhecida. Além de economizar caracteres, objetos relacionados podiam mudar juntos sem reescrever cada aresta. Alterações superiores ficavam ocultas dos documentos locais.

Fora de contexto controlado, exigia-se a forma completa. O link curto não transporta o que omite; sua portabilidade depende de a base viajar junto ou ser reconstituída.

Barra e segmentos completos . e .. já expressavam hierarquia. A barra final indicava segmento vazio; uma base semelhante a diretório e outra semelhante a recurso não emprestavam o mesmo caminho.

A URL relativa virou transformação de padrão

O RFC 1808, de junho de 1995, definiu URL relativa perante base absoluta. A base fornecia esquema, local de rede e parte do caminho; a referência expressava a mudança.

Não era concatenação. Referência com esquema era absoluta; local de rede substituía autoridade; barra inicial substituía caminho desde a raiz; caminho relativo fundia-se com a parte final da base; consulta e fragmento tinham regras próprias.

Uma coleção movida mantendo hierarquia preservava links relativos. Um link absoluto continuava para a autoridade antiga. Cada forma declarava dependência diferente.

HTML carregou o contexto ausente

O RFC 1866, HTML 2.0 de 1995, admitiu alvos relativos em âncoras, links, imagens, entradas e formulários. Um BASE opcional fornecia endereço absoluto ao documento lido fora do contexto de obtenção.

A conveniência concentrava controle. Uma base inserida reinterpretava todos os alvos relativos. Como evitava repetir prefixo, mudar esse prefixo afetava o grafo inteiro.

Base não é metadado visual; participa da identidade. Removê-la, trocá-la ou aplicá-la em outra fase muda a decisão.

A sintaxe genérica separou herança por componente

O RFC 2396, de 1998, generalizou resolução a referências URI. Esquema, autoridade, caminho, consulta e fragmento eram analisados e depois fornecidos, herdados ou substituídos.

No caminho relativo, retira-se o último segmento da base, anexa-se a referência e processam-se os pontos. Por isso a barra final importa. Mas caminho URI não é automaticamente sistema de arquivos: somente . e .. como segmentos completos têm função genérica; pontos dentro de nome são dados.

Resolver não acessa servidor. Produz identificador; obtenção, redirecionamento, autorização e existência vêm depois.

O contrato atual escolhe primeiro uma base

O RFC 3986 exige base conhecida, salvo o caso estreito de fragmento. A base é absoluta e perde o próprio fragmento.

A prioridade é: base no conteúdo, base da entidade envolvente, URI de obtenção, padrão da aplicação. Vários contextos viram uma entrada efetiva.

Referência com esquema fornece componentes. // herda esquema e troca autoridade. / herda esquema e autoridade e troca caminho. Caminho relativo funde-se com tudo menos o último segmento da base; autoridade com caminho vazio recebe /.

Caminho vazio herda o da base e, sem consulta, também a consulta. O fragmento da referência torna-se o do alvo.

Segmentos-ponto eram instruções temporárias

remove_dot_segments opera após extração e fusão. . completo não acrescenta nível; .. retira o anterior quando existe. Pais excedentes seguem o algoritmo, não atravessam uma raiz universal imaginária.

É transformação sintática, sem consultar diretórios. Mesmo “mesmo documento” é decidido após a resolução, comparando resultado absoluto e base, não só pela aparência curta.

Mobilidade era dependência controlada

Links relativos tornaram uma coleção substituível porque suas relações internas não nomeavam host permanente. Mas o endereço ausente sempre vinha de documento, contêiner, obtenção ou aplicação.

Uma prova contendo só ../fonte perde o sentido ao se separar da base. Um manifesto que assina texto curto e não a base deixa parte do alvo sem assinatura. Um log só com destino não mostra qual decisão o produziu.

Evidência durável guarda referência original, base escolhida e alvo resolvido quando houve ação.

Fontes

As normas estabelecem história e algoritmo, não peculiaridades atuais de navegadores ou segurança de aplicação específica.