Resumo

  • RFC 2277 exigiu que especificações do IETF separassem elementos de protocolo de texto, identificassem o charset, permitissem UTF-8 e definissem como transportar informação de idioma.
  • O cumprimento documentava escolhas e donos no processo de padronização; não era uma confirmação de suporte, negociação aceita, locale, renderização ou entendimento humano.

Publicado como BCP 18 em janeiro de 1998, RFC 2277 não criou um novo formato de texto. Ele registrou a política aplicada pelo IESG aos protocolos que buscavam avançar no processo de padrões. O anúncio contemporâneo resumiu a exigência: protocolos textuais tinham de poder usar UTF-8 e levar tags de idioma; uma exceção exigia justificativa e aprovação de variance.

O alvo dos verbos normativos era a especificação. Partes que pareciam palavras precisavam ser classificadas como elementos estáveis do protocolo ou texto para pessoas. Nomes tinham de ser descritos como internacionalizados ou US-ASCII. Quando o tratamento era deixado para outra camada, a responsabilidade não podia simplesmente desaparecer entre documentos.

Isso criou um recibo de projeto. Um revisor podia perguntar onde havia texto, quem escolhia sua representação e por qual mecanismo a língua chegava. Mas o recibo não inspecionava programas instalados, não conferia os bytes de uma mensagem e não observava nenhum leitor.

No vocabulário de RFC 2277, charset é a regra que mapeia uma sequência de octetos para uma sequência de caracteres. A especificação devia identificar o charset de todos os dados de caracteres e permitir UTF-8 para todo texto. Protocolos existentes e acervos antigos podiam manter outros padrões; charsets adicionais deviam usar nomes registrados.

Uma declaração correta responde “qual regra usar”. Ela não responde “este receptor possui a regra” nem “estes octetos obedecem a ela”. Também não garante fonte, glifo, direção ou composição de linha. Um rótulo incorreto pode ser perfeitamente bem formado e conduzir à decodificação errada.

RFC 2277 ainda distinguiu escolha interativa de custódia duradoura. Em uma troca semelhante a HTTP, produtor e consumidor podem negociar charset. Em e-mail ou dados armazenados, não há necessariamente um diálogo; resta anexar uma identificação clara e escolher uma representação amplamente conhecida. Negociar registra oferta e seleção. Rotular dados registra uma afirmação. Nenhum deles é confirmação de apresentação.

Para idioma, a política pediu um meio definido de transportar informação, não a presença obrigatória de uma tag em cada item. A recomendação da época era RFC 1766. Idioma, porém, não era locale POSIX: locale pode incluir ordenação, datas, moeda e outras convenções. O destinatário pode aceitar ou ignorar a opinião do remetente sobre essas regras.

Por isso pt-br não significa que determinada pessoa entendeu o texto. Accept-Language, em RFC 2068, expressava preferências; a própria especificação dizia que inteligibilidade depende do indivíduo. Correspondência por prefixo ajudava a seleção sem garantir compreensão de toda variante. RFC 1766 também advertia que uma tag de idioma não decide a renderização correta de um charset em todos os textos mistos.

A seção “Internationalization Considerations”, recomendada ao lado de Security Considerations, reuniu essas decisões em um lugar revisável. Sua força era institucional: tornar hipóteses visíveis antes da aprovação. Sua limitação era igualmente importante: não comprovava que uma implementação seguiu o texto, que versões linguísticas continuaram equivalentes ou que um aviso levou à ação adequada.

O próprio RFC mencionou riscos de avisos em língua estrangeira e inconsistência entre versões. A política, portanto, não confundia transporte com efeito. Seu legado foi estabelecer pontos de responsabilidade. O trabalho posterior ainda precisava produzir provas separadas para capacidade, seleção, decodificação, apresentação e entendimento.

Fontes e limites

As fontes documentam a política de 1998, sua base no workshop RFC 2130, os mecanismos contemporâneos e a evolução formal de UTF-8. Não documentam adoção atual, um produto, uma troca específica ou a compreensão de um usuário.