Chrome 100 e Firefox 100 podem quebrar diversos sites, alerta Mozilla

Acredite: por ter três dígitos, número 100 na identificação de versão do Chrome e Firefox pode "quebrar" determinados sites

Emerson Alecrim
Por

Tanto o Chrome quanto o Firefox estão prestes a chegar à versão 100. Uma marca tão emblemática como essa é motivo de comemoração, certo? Para desenvolvedores e usuários de ambos os navegadores, o assunto é motivo de preocupação, na verdade. Tudo porque o número 100, por ter três dígitos, pode “quebrar” determinados sites, informa a Mozilla.

Google Chrome (imagem: Emerson Alecrim/Tecnoblog)
Google Chrome (imagem: Emerson Alecrim/Tecnoblog)

Como assim, gente?!

É difícil imaginar a associação de uma coisa com a outra. Mas a explicação do problema não é de difícil compreensão. Começa com um elemento simples, mas que permite a páginas web identificar a versão do navegador do usuário: o user-agent.

Esse componente é uma string, isto é, um campo de texto que o navegador usa para informar a sua versão, o sistema operacional e outros recursos de software.

Se você digitar “what is my user agent” no Google, o buscador exibirá o user-agent do seu navegador. Para exemplificar, fiz o teste em um computador com Windows 10 e Firefox 97. Essas informações foram exibidas corretamente pelo user-agent:

User-agent no Firefox (imagem: Emerson Alecrim/Tecnoblog)
User-agent no Firefox (imagem: Emerson Alecrim/Tecnoblog)

No mesmo computador, o user-agent exibe a seguinte informação sobre o Google Chrome:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36

O user-agent é muito útil. Graças a essa string, um site pode exibir uma página com a configuração mais adequada para o navegador do usuário, só para dar um exemplo.

Qual a relação do user-agent com a falha do nº 100?

Repare que, no exemplo do Google Chrome, o user-agent exibe a sequência 98.0.4758.102 para identificar a versão do navegador. Muitos sites são baseados em sistemas que consideram apenas os dois primeiros caracteres (98, aqui) e ignoram o resto.

É aí que o problema se manifesta: nesses sites, quando o user-agent exibir o número 100, apenas os dois primeiros dígitos serão identificados, dando a entender que o navegador está na versão 10. Em outros casos, o serviço web simplesmente não consegue trabalhar com um trio de caracteres para identificar o browser.

O problema foi notado em agosto de 2021, quando a Mozilla conduziu um teste com um user-agent identificando o Firefox com o número 100. Do lado do Google, os alertas a respeito de problemas com o Chrome 100 ganharam força no final do mesmo ano.

Problemas foram encontrados nos experimentos com ambos os navegadores. A Mozilla relata, por exemplo, que sites como HBO Go, Bethesda, Yahoo, Slack e aqueles feitos com o criador de páginas Duda não funcionaram bem com o user-agent informando o número de versão com três caracteres.

Em alguns casos, a página não foi exibida corretamente; em outros, o site simplesmente não funcionou e exibiu um aviso de navegador não compatível.

E agora?

Felizmente, o problema não afeta um número gigantesco de sites. De todo modo, Mozilla e Google estão trabalhando em um “plano B” para evitar que usuários sejam prejudicados pela falha.

Provavelmente, ambas as organizações irão implementar um mecanismo que trava o user-agent no número 99 em sites problemáticos e, nessa circunstância, informa a versão real no navegador em outra parte da string.

Por via das dúvidas, a Mozilla pede que desenvolvedores façam testes com seus sites (é fácil mudar o user-agent do navegador) e apliquem os ajustes correspondentes, se necessário.

O Chrome 100 deve ser lançado no fim de março; o Firefox 100, no começo de maio.

O Bug do Milênio manda lembranças

Se você tem mais de 30 anos, talvez o problema do número 100 nos navegadores te faça lembrar do chamado Bug do Milênio, problema que, na virada de 1999 para 2000, poderia ter feito muitos sistemas funcionarem incorretamente.

Na época, havia o temor de que a mudança na data faria sistemas que liam anos apenas com dois dígitos interpretarem o final “00” de 2000 como 1900 ou, ainda, como 19100.

As consequências seriam gravíssimas. Felizmente, o problema afetou poucos sistemas. Isso porque muitos deles já trabalhavam com quatro dígitos para identificar o ano. Além disso, outros tantos foram corrigidos antes da virada do milênio.

Com informações: BleepingComputer.

Relacionados

Relacionados