A guerra dos padrões I: a Web e seus padrões

Navegadores
Em princípio esta padronização não deveria interessar a nós, usuários. Interessaria, naturalmente, aos programadores, pois interfere tanto na sintaxe quanto na semântica da linguagem de programação. Mas não apenas a eles. Também interessa, e muito, aos desenvolvedores de programas navegadores. E é justamente aí que a porca torce o rabo.
Pois que diabos vem a ser um “programa navegador”?
Bem, quando Berners-Lee “inventou” a Web, tomou a si a parte mais difícil: a criação dos arquivos em hipertexto com a HTML e a forma de saltar de um para o outro com o HTTP.
Mas pense um pouco: de que adiantaria o fato de Berners-Lee ter “inventado” a Web sem um programa que faculte acesso às suas páginas?
Explicando: HTML e HTTP, juntos, permitem apenas a criação de arquivos contendo páginas em hipertexto que ficam armazenados nos servidores e que podem ser transferidos para nossos computadores clicando-se nos atalhos contidos nas páginas. Mais nada.
Mas para que serve um arquivo hipertexto no disco rígido de meu computador se eu não posso exibi-lo na tela?
E não basta “exibi-lo”. Esta exibição tem que ser feita obedecendo estritamente a intenção do programador que desenvolveu a página em HTML. Os textos devem estar na ordem e formato desejado (tamanho e cor das letras, por exemplo), os atalhos devem ser devidamente destacados para que possam ser identificados como tal e o programa que cuida desta exibição deve, igualmente, providenciar que estes atalhos sejam funcionais, ou seja, deve prover mecanismos tais que, quando um atalho for acionado (por exemplo, com um clique de mause sobre ele), seja disparada uma rotina de programação que recorra ao protocolo HTTP para tentar localizar o arquivo para o qual o atalho aponta, transferi-lo para a máquina e oferecê-lo ao programa para que exiba seu conteúdo na tela.
Quer dizer: o programa navegador não se limita a gerar a tela para ser exibida (ou “renderizar” a tela). Mais importante que isto, ele deve ainda permitir saltar de uma página para outra, não importando onde os arquivos destas páginas estejam armazenados (e, naturalmente, exibir uma mensagem de erro caso o arquivo não exista ou tenha sido removido; uma das mais importantes características da Web é justamente o fato de ela não “travar” quando um atalho leva a nada). Em resumo: o programa deve permitir “navegar” de uma página Web a outra. Por isto seu nome, “programa navegador”. Em inglês estes programas chamam-se “browser“. O verbo “to browse“, nesta acepção, significa “folhear”, no sentido de “passar as folhas de livro, revista, etc.”, em uma referência às “páginas” da Web. Há quem, no Brasil, se refira a estes programas usando sua designação em inglês, “browser” (e quem chame “atalho” de “link“) provavelmente pretendendo afetar conhecimento de um idioma estrangeiro sem perceber que na verdade evidencia desconhecimento de seu próprio.
Mas voltemos à Web. É claro que havia programas deste tipo que eram usados para exibir as páginas programadas em HTML nas máquinas usadas nas instituições acadêmicas onde a Web começou a se disseminar. Que, em sua maioria, eram máquinas de grande porte ou servidores pesados, que usavam uma das muitas distribuições de Unix.

Para que a Web efetivamente se popularizasse fora dos meios acadêmicos havia a necessidade que alguém desenvolvesse um programa navegador que rodasse em uma versão qualquer de Windows, o sistema operacional de uso comum dominante nos anos noventa (note que frisei “nos anos noventa” para evitar discutir você-já-sabe-o-que, portanto vamos respeitar isto nos comentários). Sem um programa destes, tanto a Web como a Internet continuariam limitadas ao público acadêmico.
Este programa chamou-se Mosaic.
Falaremos dele, dos demais navegadores e da batalha final da guerra dos padrões na próxima coluna.
B. Piropo
