Resumo
- A RFC 2397 definiu
data:para pequenos dados “imediatos”, com tipo de mídia opcional, marcador;base64opcional, uma vírgula e os dados. - Quando os bytes viajam na URL, o controle sai do caminho de recuperação remota e passa ao consumidor, ao manipulador de mídia e ao limite do buffer.
Uma URL comum promete uma viagem: o cliente lê o local, consulta algo externo e recebe uma representação. A RFC 2397 encurtou o percurso. Em data:[<mediatype>][;base64],<data>, a mesma cadeia que normalmente aponta para fora também leva aquilo que será lido.
O texto chamou isso de “endereçamento imediato”. Não existe um servidor minúsculo atrás da vírgula. Para o item incorporado, o consumidor separa declaração e carga, recompõe os octetos e os interpreta conforme o tipo de mídia. Ponteiro e mercadoria tornam-se uma única entrada serializada.
As omissões são definidas. Sem tipo de mídia, vale text/plain;charset=US-ASCII; é possível omitir text/plain e informar só o charset. ;base64, sem sinal de igual, escolhe base64 e por isso não é um parâmetro comum de Content-Type. Sem essa marca, caracteres seguros representam octetos diretamente e os demais usam %xx. Base64 não cifra, autentica nem concede permissão.
O esquema não tem forma relativa. Uma referência relativa toma o endereço-base do contexto; data: já entrega tipo e conteúdo. Um mecanismo herda um endereço, o outro carrega seus próprios bytes.
A RFC limita o caso de uso a valores curtos. Ela cita as restrições SGML do HTML 2.0: 1.024 caracteres em um literal de atributo, 2.100 na soma dos atributos de uma tag e 2.100 na tag inteira. Até o pequeno GIF do exemplo aparece perto do limite útil. Esses números não são um teto universal de data:; revelam que sintaxe, recipiente e alocação podem suportar tamanhos diferentes.
A seção de segurança mostra onde fica o poder. Um proxy de firewall pode bloquear a busca externa de certo tipo de mídia. É mais difícil aplicar o mesmo filtro a conteúdo já incluído na URL. Assim, o aplicativo não deve interpretar um tipo proibido por sua configuração. A porta efetiva pertence ao componente que transforma octetos em comportamento.
O documento também dizia que o efeito de valores muito longos era desconhecido e que alguns programas poderiam reagir mal ao ultrapassar o buffer alocado. Há dois testes: o tipo é permitido? O tamanho pode ser processado com segurança? A ausência de uma busca externa não responde a nenhum deles.
A proposta original era de agosto de 1995. O histórico registra VRML, propostas de dados embutidos em HTML, produtos comerciais e parâmetros de objetos Java e ActiveX. O desenho foi refinado: tornou-se possível omitir o tipo, o indicador base64 ficou mais compacto e quoted-printable saiu porque %xx já bastava.
Os errata posteriores têm pesos diferentes. Duas correções Verified trocam o impossível %fg e substituem o urlchar inexistente por uric. As ambiguidades sobre parâmetros com aspas e delimitadores permanecem Reported ou Held for Document Update, não como norma aprovada. A proposta de trocar toda ocorrência de “URL” por “URI” foi Rejected porque o termo original era historicamente correto.
A lição da RFC 2397 é sobre controle. Remover um intermediário não elimina autoridade; concentra-a no software que analisa, decodifica, interpreta e autoriza. Quanto menor o caminho, mais explícita deve ser a fronteira local.
Fontes
Briefing para membros
Contexto aprofundado do perfil
Faça login com o nível de assinatura correto para desbloquear o briefing completo e as notas das fontes.
Apenas para Strategic Circle
Strategic Circle
Aberto a todos os leitores. Desbloqueie Briefings de perfil após se inscrever e fazer login.
Junte-se ao Strategic CircleSomente para Leadership Alliance
Leadership Alliance
Para proprietários e gestores qualificados de ativos de PI; faça login para desbloquear os briefings da Leadership Alliance.
Junte-se ao Leadership Alliance
