Tecnologias de Comunicação
O protocolo HTTP definia, originalmente, uma única forma de comunicação entre o programa cliente e o programa servidor: comunicação síncrona baseada no ciclo requisição-processamento-resposta.
Neste modelo síncrono de comunicação o programa cliente (um navegador/browser) baseia-se no seguinte algoritmo:
- Envia, por meio do protocolo HTTP, uma requisição ao programa servidor.
- Suspende sua execução aguardando a resposta enviada pelo programa servidor. Durante esse tempo o usuário da aplicação não tem como interagir com a aplicação (a interface com o usuário fica congelada).
- A resposta enviada pelo programa servidor chega até o programa cliente contendo uma nova página HTML. Esta página é então exibida de modo que o usuário possa voltar a interagir com a aplicação.
O algoritmo acima define um modo de interação que é em essência idêntico ao modo de interação esperado em um site: o usuário fica navegando entre páginas, gerando uma trilha de páginas visitadas.
Porém, uma aplicação para web é um conceito diferente de um web site, mesmo que ambos utilizem as mesmas linguagens (HTML, CSS, JavaScript) e protocolo de comunicação (HTTP).
As tecnologias Ajax e SSE revolucionaram o modo de funcionamento das aplicações para web.