Como os navegadores funcionam?

Internet - Parte 3

Os browsers são os softwares mais utilizados hoje em dia, sua principal função é apresentar os recursos da web selecionados pelo usuário trazendo as informações solicitadas de um servidor e apresentando elas na janela do navegador. Os principais recursos são documentos HTML, mas nem somente a HTML se resume o navegador, podemos ter arquivos em PDF, imagem e outros diversos tipos de conteúdo.

A forma como o navegador apresenta esses arquivos HTML é definida pela estrutura HTML e CSS definidas no documento, as principais especificações são definidas pela W3C, que padroniza a organização da web. Apesar de por anos os navegadores acatarem apenas uma parte das especificações e acabarem produzindo suas próprias, causando milhares de erros entre as páginas web, atualmente a maioria dos navegadores está em conformidade com essas especificações. Uma curiosidade é que apesar de não termos especificações para os browsers é comum perceber que há um padrão entre a interface dos navegadores e que eles seguem um padrão entre os elementos que foi aceito e que desde então vem sendo replicado pelos concorrentes.

Estrutura de alto nível

Os navegadores são formados por diversos elementos e cada um possui níveis de complexidade que podem ser definidos da seguinte forma:

  1. User Interface: A interface do usuário é a parte visual que já conhecemos bem e que persistem na maioria dos navegadores, quando usamos um browser podemos facilmente identificar a barra de pesquisa, o botão para avançar e retroceder a página atual, o botão de favoritos e até mesmo um botão próprio para recarregar a página.

  2. Browser Engine: Responsável por coordenar as ações entre a interface do usuário e as engrenagens que movem o motor de buscas do navegador.

  3. Rendering Engine: É quem apresenta o conteúdo solicitado, como por exemplo, se o conteúdo for um HTML o renderizador analisa conteúdo HTML e CSS e apresenta esse conteúdo devidamente analisado na sua tela.

  4. Networking: a rede de chamados, como por exemplo as requisições HTML, usando diferentes soluções para plataformas distintas mesmo que por trás de uma interface de plataforma independente.

  5. User Interface Back-end: usado para construir componentes básicos, como caixas e janelas. Essa interface apresenta um modelo genérico que não é especifico de uma plataforma apenas. Por baixo dos panos ela utiliza métodos do sistema operacional do usuário.

  6. JavaScript Interpreter: É literalmente quem traduz e executa código javascript para que o navegador possa utilizá-lo.

  7. Data Storage: É uma camada onde o navegador retem os dados locais como os cookies. O browser também suporta mecanismos de armazenamento como o LocalStorage e o WebSQL por exemplo.

O navegador é bem mais complexo e possui diversas outras funcionalidades e componentes, mas esse assunto fica para outro artigo, hoje o mais importante é entender o que é um browser, para que ele serve e como funciona. E isso já conseguimos compreender, afinal vivemos em um mundo onde eles são tão essenciais ao ponto de não podermos nos imaginar sem eles.

Did you find this article valuable?

Support Shut Up Joseph by becoming a sponsor. Any amount is appreciated!