21-04-2022
Do Protocolo HTTP ao Protocolo Websocket
A web foi originalmente implementada com base em páginas HTML estáticas e num princípio de que um cliente (browser) efetua um pedido HTTP a um servidor que é responsável por devolver uma resposta. Mais tarde vieram as páginas dinâmicas onde foram apresentados conceitos como solicitações GET, POST, PUT e DELETE (e mais tarde outros) e onde o cliente passou a conseguir solicitar dados personalizados através de requisitos enviados por parâmetros no próprio pedido. Duma maneira ou de outra, é aberta uma conexão para que o cliente possa fazer o pedido ao servidor e que este possa responder, fechando-se aumomaticamente essa conexão.
À medida que a internet e as suas necessidades foram crescendo começou a sentir-se que este protocolo nem sempre correspondia às exigências tornando-se por vezes penoso ao estar sempre a abrir conexões quando na resposta do servidor se verificava que não havia essa necessidade.
Historicamente, a criação de aplicações Web que transferissem dados em tempo real (como os jogos ou chats) abusavam do protocolo HTTP simulando uma transferência de dados bidirecionais constante. Havia vários métodos usados para obter esses dados em tempo real, mas nenhum deles era eficiente, como por exemplo, estabelecer-se um pedido com um determinado tempo limite até que o servidor respondesse e a conexão fosse fechada, e onde mais tarde o cliente enviaria de novo um pedido para poder ter os seus novos updates. Outra abordagem era fazer-se solicitações automáticas e periódicas, de x em x segundos, de modo a que o update dos dados demorasse no máximo esses x segundos.
Em qualquer uma destas abordagens, as desvantagens são evidentes, em que não só são desperdiçadas imensas solicitações ao servidor quando este não tem nada para responder, como também nunca poderá partir do servidor a iniciativa de comunicar com os seus clientes.
Por este e outros motivos surgiram os WebSockets. Amanhã vamos analisar em mais detalhe o que são WebSockets e para que servem.
Artigos relacionados:
👉 Follow @niuGIS
RELACIONADAS