URIs legais podem ser feias (2023)

Os redirecionamentos automáticos e permanentes do Cloudflare Pages de arquivos `.html` para URLs sem extensão reacenderam o debate sobre o que torna os endereços da web “legais” e estáveis. Os comentários avaliam os benefícios de URLs limpas e agnósticas em relação à simplicidade prática de expor `.html`, preocupam-se com provedores de hospedagem alterando esquemas de URL sem opção de desativação e retomam o ideal da W3C de que links devem permanecer válidos por décadas. A discussão se amplia para rot de links, redirecionamentos, caminhos no estilo REST versus parâmetros de consulta, e se expor detalhes de implementação como extensões de arquivo prejudica de fato a manutenção de longo prazo.

Comportamento e Redirecionamentos da Cloudflare / GitHub

  • O Cloudflare Pages redireciona automaticamente .html para URLs sem extensão e os trata como permanentes; alguns veem isso como um “recurso” crítico e invasivo, que deveria ser opt-in.
  • Outros argumentam que esse é um comportamento de longa data em muitos hosts estáticos e servidores web, impulsionado pelo descompasso entre extensões do sistema de arquivos e tipos de conteúdo da URL.
  • As críticas se concentram na permanência (301s) e na falta de opções de configuração; os defensores encaram isso como uma decisão de produto, não um bug.
  • O GitHub Pages tem regras de mapeamento semelhantes (/foofoo.html, pasta → folder/folder/index.html), mas geralmente sem redirecionamentos permanentes.

URIs Legais, Extensões e Preparação para o Futuro

  • A posição da W3C de que “Cool URIs don’t change” contra .html é revisitada.
  • Alguns concordam que extensões expõem detalhes do backend e correm o risco de quebrar no futuro; outros dizem que .html é estável o suficiente e improvável de mudar para sites típicos.
  • Uma visão pragmática comum: se você escolher .html e mantê-la estável, essa se torna a URL “legal”; trocar o backend deve se adaptar às URLs existentes, e não o contrário.
  • Alguns frameworks até vinculam extensões diretamente a tipos MIME (.json, .xml, etc.) como ajuda de depuração.

O que Conta como uma URL “Feia”

  • Muitos participantes reservam “feia” para URLs longas, cheias de parâmetros ou codificadas em hash, e não para um simples /year/slug.html.
  • Exemplos históricos incluem URLs de CMS cheias de vírgulas, blobs de JSON em fragments, strings de consulta de rastreamento e URLs complexas de aplicativos corporativos.
  • Caminhos estáticos com IDs mais slugs (/category/123/post-name) são vistos como um bom compromisso: identificador estável plus legibilidade humana.

Redirecionamentos, Rot de Links e Responsabilidade

  • Uma corrente: operadores de sites não têm obrigação de preservar URLs para sempre; a retórica de “Cool URIs” pode soar moralista.
  • Outra corrente: manter redirecionamentos dá pouco trabalho e é cortês; a rot de links é causada principalmente pelos alvos mudarem, não pelos autores dos links.
  • Alguns sugerem que até fluxos de trabalho de sites estáticos podem gerar automaticamente páginas simples de redirecionamento ou meta-refreshes.

Detalhes de Implementação e Preocupações de Monitoramento

  • Padrão popular: diretório /blog/slug/ com index.html, às vezes usado por post para guardar assets relacionados.
  • Negociação de conteúdo e formatos alternativos (Markdown, variantes multilíngues) frequentemente entram em conflito com as suposições dos geradores estáticos.
  • Profissionais de observabilidade não gostam de colocar dados de usuário em segmentos de caminho, pois isso complica métricas e logging; eles preferem parâmetros de consulta.

URIs vs URLs

  • Há um breve resumo histórico de URIs, URLs, URNs e sua linhagem de RFCs.
  • Muitos concordam que, no trabalho web do dia a dia, “URL” é o único termo praticamente útil, mesmo que “URI” seja tecnicamente mais geral.