Static vs Dynamic Website

Frequentemente ouvimos os termos "Static website"(site estático) e “Dynamic website”(site dinâmico) e este artigo tenta esclarecer como ambos os tipos se comportam.

Static Website

Quando do servidor após um requisição é simplesmente enviado um arquivo pronto para ser mostrado ao usuário.

E este arquivo basicamente contém HTML, CSS, Javascript, Image

diagrama de um static website

O navegador pega no arquivo e vai renderizar para o usuário do mesmo modo que recebeu o arquivo.

Sendo assim, não existe qualquer tarefa sendo executada no servidor.

Uma questão que incomoda o pessoal é, Existe código javascript no site, isso não torna o site dinâmico? Bem, no contexto front-end isso pode ser uma verdade, mas no contexto do navegador, dinâmico nada tem a ver com o facto de haver alguma animação de botão ou algo assim parecido, mas sim a forma como o website é gerado no servidor.

Um exemplo comum de static website são as landing page.

Dynamic Website

Sempre que uma solicitação é feita, o site é compilado no servidor. Basicamente, um site dinâmico consiste em um banco de dados, um aplicativo como o Nodejs que processa os dados do Banco de dados e com a ajuda de um template pré definido compilam dinamicamente cada página que o usuário requisita com os dados gerando um arquivo(html, css, js) que é enviado para o navegador. Todo esse processo é chamado de renderização do lado do servidor(server-side rendering).

diagrama de um dynamic websie

Conforme os dados existentes no banco de dados e a operação do usuário, diferentes páginas serão geradas, daí o nome dynamic.

Vai ouvir bastante falar de Web Application, é quase a mesma coisa. Sendo que web application se refere a um dynamic website com algumas funcionalidades como login, singup, searching e outras.

Nos últimos anos, graças à evolução dos navegadores no client-side vemos mais e mais website que são baseados em APIs.

Mas esse assunto vai ficar para uma outra altura.